我遇到了很多会话冲突异常。通常每天至少一次,但有时我会部署并连续获得2-3次,然后什么都没有。
该应用程序在Rails 3.2.2和独角兽上运行,会话存储在memcached中。
异常发生在不同控制器的不同位置,我实际上找不到任何共同点。可能导致这种情况的原因是什么?
答案 0 :(得分:0)
我不知道ruby / rails如何使用memcached处理会话数据,但通常工作如下:
new session -> using command ADD
update session -> using GET with token and than the command CAS (check and set)
如果存在哈希冲突,则命令ADD失败,因为会话已存在。 另一个可能的问题是,如果另一个进程更新了GET和CAS之间的相同会话。