当前位置:  开发笔记 > 前端 > 正文

当会话存储在memcached(Rails)中时,用户会占用其他用户的会话

如何解决《当会话存储在memcached(Rails)中时,用户会占用其他用户的会话》经验,为你挑选了1个好方法。

当我在Memcached中存储会话时,我有一个非常奇怪的问题.有些用户不时会参加其他人的会话.例如约翰,以玛丽亚,玛丽亚为克里斯等登录.

我使用Rails 2.3.4,但早期版本的Rails也出现了同样的问题.我只使用一个Memcache服务器,它在同一台机器上运行.调试这个问题是我无法重现它.

如果有人能指导我如何解决这个问题或调试它,我将非常高兴.如果您使用Memcached进行会话并且您分享您的示例配置,我也会很高兴.

这些是我的配置:

# memcache options
memcache_options = {
  :c_threshold => 10_000,
  :compression => false,
  :debug => false,
  :namespace => 'app_prod',
  :readonly => false,
  :urlencode => false,
}
memcache_servers = ['localhost:11211']

CACHE = MemCache.new(memcache_options)
CACHE.servers = memcache_servers

config.cache_store = :mem_cache_store, memcache_servers, memcache_options
config.action_controller.session_store = :mem_cache_store
config.action_controller.session = {
  :session_key => '_appname',
  :cache => CACHE,
#    :expires => 10,
#    :session_expires => 10,
  :secret      => '5391aaaaaaaaaa56f8e8234beb638b97b32bbbbbbbbbbcc9dcae2beccccccccc89e8b508328def001a368da0678b061eb0e9d5a82a5ac94c8d35bd31a9a49e1'
}

先谢谢你,斯坦



1> 小智..:

我已经看到了这一点,发现很难调试.

如果您正在使用乘客,您可能希望使用保守方法来生成新服务器.

默认方法是服务器共享一个到memcache的套接字.

文档更详细地讨论它. http://www.modrails.com/documentation/Users%20guide%20Apache.html#_example_1_memcached_connection_sharing_harmful

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有