rails使用memcache缓存session

1 篇文章 0 订阅
1 篇文章 0 订阅
前提条件:安装了memcache server以及rails的客户端memcache-client

 

在Gemfile文件中添加:

gem 'memcache-client'


修改config/initializers/session_store.rb:

找到config.action_controller.session_store = :active_record_store 注释掉

 
然后再最后加上:
#use memcached for sessions instead of the cookie-based default,
#sudo apt-get install memcached or sudo yum install memcached
require 'memcache'
memcache_options = {
   :compression => true,
   :debug => false,
   :namespace => "mem-#{Rails.env}",
   :readonly => false,
   :urlencode => true
}

memcache_servers = ['localhost:11211']
CACHE = MemCache.new(memcache_options)
CACHE.servers= memcache_servers
Console::Application.config.session_store :mem_cache_store ,:cache=>CACHE

修改好后,以debug模式启动memcahce server
memcached -vv -l localhost -p 11211 -m 256 -P /tmp/memcached.pid -u root

你会看到:
<3 server listening
 
 
再启动你的rails应用
 
访问页面,你会看到memcache server的确有动静:
slab class 40: 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
 
上面示例出现的配置试你的机器而定
 
如果无法访问,查看一下是不是防火墙挡住了,配置防火墙 打开 11211端口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值