Rails 项目以各种不同的方式使用 memcached,但如果您正在处理 rails 3 项目,那么我建议他们可能使用使用 memcached session store 的' dalli ' gem。因此,可以改为使用缓存来完成类似这样的操作,而与之相反的另一种方式是session[:gateway] = @gateway
@gateway = session[:gateway]
memcache.set('gateway',@gateway')
memcache.get('gateway')
查看配置代码会很有帮助。检查/config/initializers/session_store.rb
类似的东西Rails.application.config.session_store :dalli_store ............
也如评论中所说,如果您正在开发中,缓存可能会被关闭。检查您的config/development.rb
文件是否有以下内容:
config.action_controller.perform_caching = false
另一件事是你需要在你的操作系统上安装 memcached for linux 这是sudo apt-get install memcached
并且可以检查ps aux | grep memcache
(这应该显示两个进程 grep 和 memcache)
更新
还应该查看rails 缓存指南