memcached在rails中的使用介绍

http://blog.xdite.net/?p=1029

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 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
 
上面示例出现的配置试你的机器而定
 
一个奇怪的问题是:就算你不启动memcache server,你的页面也可以访问成功,那么你的session存在哪?
我查看了/tmp/sessions,没有任何动静,(默认使用文件系统存储sessions时,这个文件夹会一直有文件产生)我想只有可能是存在内存里面了
 http://blog.csdn.net/pwlazy/archive/2007/05/22/1621444.aspx

原文地址:https://www.cnblogs.com/lexus/p/1949847.html