我正在尝试使用Rails和memcached实现页面视图计数器。每次我渲染页面时,通过rails我都会增加一个memcached键(key.incr是原子的)。我主要担心的是在更新我的数据库记录之前,此密钥在memcached中过期或删除的可能性。即使我访问频率大于其到期时间的所有密钥,memcached也可能因为内存已满而同时删除密钥。
有什么建议吗? 谢谢 迪米瑞斯
答案 0 :(得分:5)
我会将redis作为memcached replacement。这是perfect for realtime stats。它为您提供所需的速度和原子增量,并且它会持续存在。问题解决了。
答案 1 :(得分:1)
如果您希望该数据具有持久性,则不得将其写入memcache (这是一种缓存机制,而不是数据持久性存储)。
基本上,我可能会做的就是这样:
update ... set counter = counter + 1 where...
)
但我不会将memcache用于持久性: