我目前正在将 memcached 用于 Rails 应用程序。我需要 delete_matched() 功能,所以我使用了一个额外的列表,其中包含所有存储的键,我可以一个一个地匹配和删除(有人已经写过了)。
问题是它并没有真正起作用:一些键不时被删除 - 它真的不知道为什么,代码看起来对我有效(并且正则表达式是正确的)。
是否有具有此功能的 memcached 分支?我无法想象为什么默认情况下它没有实现。
我目前正在将 memcached 用于 Rails 应用程序。我需要 delete_matched() 功能,所以我使用了一个额外的列表,其中包含所有存储的键,我可以一个一个地匹配和删除(有人已经写过了)。
问题是它并没有真正起作用:一些键不时被删除 - 它真的不知道为什么,代码看起来对我有效(并且正则表达式是正确的)。
是否有具有此功能的 memcached 分支?我无法想象为什么默认情况下它没有实现。
你不应该这样做,因为它很慢,所以它没有被实施。您应该考虑标记命名空间。这是解释。
如果您仍想使用正则表达式,请参阅此博文:
http://quickleft.com/blog/faking-regex-based-cache-keys-in-rails
您还可以使用dali-store-extensions来实现类似
# in sweeper
expire_fragment /.*sweep_me_up.*/
我最终使用 Redis 和redis-rails
gem 来完成这项任务。