前提条件:安装了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时,这个文件夹会一直有文件产生)我想只有可能是存在内存里面了
分享到:
相关推荐
最有效的方法之一是使用缓存。 过去,我们讨论了各种缓存技术,但我们没有谈论的一件事是缓存的存储位置。 Rails的缓存存储功能非常模块化。 默认情况下,它使用文件系统来存储缓存,但是我们可以很容易地更改它以...
Record Cache - 在Rails 3中缓存Active Model Records
主要介绍了深入理解Ruby on Rails中的缓存机制,本文来自于IBM官方网站技术文档,需要的朋友可以参考下
主要介绍了举例理解Ruby on Rails的页面缓存机制,本文来自于IBM官方网站技术文档,需要的朋友可以参考下
activerecord-session_store, 从 Rails 中提取的记录存储的活动会话 Active Record 会话存储由 Active Record 类支持的会话存储。 提供了默认类,但是任何对 Active Record 会话类的对象鸭类型都有文本 session_id ...
早在2008年开始,我们就借鉴了Java强大的ORM 框架Hibernate的二级对象缓存编写了这个Rails的AR对象缓存插件,并且一直作为JavaEye网站缓存优化的秘密武器来使用,取得了非常理 想的效果。 现在我们将这个插件从...
Rails :: SessionCookie 快速,松散耦合的请求有关经过Cookie验证的应用程序的规范。 为什么 可能,您可能已经看到了很多像这样的代码: # config/initializers/session_store.rb Rails . application . config . ...
分别介绍了Rails的环境、初始过程、配置和日志记录,Rails的分配器、控制器、页面生成和路由,REST、资源和Rails,ActiveRecord的基础、关联、验证和高级技巧,ActionView的模板、缓存和帮助器,Ajax、Prototype和...
plug_rails_cookie_session_store:与Rails兼容的插件会话存储
Spring是Rails的预加载器。Spring 能够通过保持应用运行在后台,来提升开发模式下的速度。使得不需要在执行test,rake task以及migration时每次都加载。 标签:Spring
高性能web应用缓存架构设计浅谈 大规模,高并发的访问请求 服务的高可用性 平滑的deployment 良好的可伸缩性
NULL 博文链接:https://hlee.iteye.com/blog/587000
一个缓存失效 rails-api 应用程序,可以与 Amazon CloudFront、Akamai CCUAPI、Varnish 通信,并且可以轻松扩展以与其他缓存服务一起使用。 如果您有多个应用程序使用多种缓存策略,此应用程序可以帮助提取清除缓存...
ROR安装的最版本的GEM,ruby on rails即ROR
这是一个简单的Rails插件,使用memcache进行操作缓存,并让nginx直接从memcache中提取缓存的页面。 因此,对缓存页面的请求甚至不会打到您的Rails应用服务器上。 它可能不适合所有人,但仍然可以作为实现满足您自己...
使用Aptana+Rails开发Rails Web应用 有Aptana的安装配置等等,中文
rails, Ruby on Rails 欢迎使用 RailsRails 是一个web应用程序框架,它包括根据 Model-View-Controller ( MVC ) Pattern 创建数据库备份的web应用程序所需的所有内容。理解 MVC Pattern 是理解 Rai
使用RSpec 测试Rails 程序.pdf
rails-settings, 使用 Ruby on Rails 管理设置 Rails的设置 ruby gem,通过在单独的数据库表中将它们存储为序列化的哈希来处理。 包含命名空间和默认值。要求ruby 1.9.3或者更高版本Rails 3.1或者更高版本( 包括 ...