`
isiqi
  • 浏览: 16043132 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

rails使用memcache缓存session

阅读更多
前提条件:安装了memcache server以及rails的客户端memcache-client
修改environment.rb:
找到config.action_controller.session_store = :active_record_store改为
config.action_controller.session_store = :active_record_store
然后再最后加上:
memcache_options = {
:compression => true,
:debug => false,
:namespace => "mem-#{RAILS_ENV}",
:readonly => false,
:urlencode => false
}
memcache_servers = [ '192.168.100.231:11211' ]
CACHE = MemCache.new(memcache_options)
CACHE.servers = memcache_servers
ActionController::Base.session_options[:cache] = CACHE
修改好后,以debug模式启动memcahce server
/usr/local/weip/memcached-1.2.1/bin/memcached -vv -l 192.168.100.231 -p 11211 -m 256 -P /tmp/memcached.pid -u root
你会看到:
。。。。。。
<3 server listening
再启动你的rails应用
访问页面,你会看到memcache server的确有动静:
。。。。。。。。。。
slab class40: chunk size 504692 perslab 2
<3 server listening
<6 new client connection
<6 set mem-test:test 0 -1 84
>6 STORED
<6 get mem-test:test
>6 END
<6 set mem-test:test 0 0 84
>6 STORED
<6 get mem-test:test
>6 sending key mem-test:test
>6 END
上面示例出现的配置试你的机器而定
一个奇怪的问题是:就算你不启动memcacheserver,你的页面也可以访问成功,那么你的session存在哪?
我查看了/tmp/sessions,没有任何动静,(默认使用文件系统存储sessions时,这个文件夹会一直有文件产生)我想只有可能是存在内存里面了
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics