当我在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' }
先谢谢你,斯坦
我已经看到了这一点,发现很难调试.
如果您正在使用乘客,您可能希望使用保守方法来生成新服务器.
默认方法是服务器共享一个到memcache的套接字.
文档更详细地讨论它. http://www.modrails.com/documentation/Users%20guide%20Apache.html#_example_1_memcached_connection_sharing_harmful