通过正则表达式使memcache过期

时间:2012-08-17 01:42:43

标签: ruby-on-rails memcached dalli

我在我的rails应用程序中使用memcache。我想说

  

使用'foo-123 - *'

等键来使所有条目失效

其中*是任何字符串。当然,没有memcache发行版直接支持这个(对吗?),因为它的构建简单快速,因此它没有索引。

有几个项目通过保留本地密钥列表来解决这个问题:

但是要将列表保留在内存中......该列表可能会在应用程序实例之间变得不同步......所以它不可靠。

这个问题是否已经以另一种方式解决了?我错过了一个共同的解决方案吗?

1 个答案:

答案 0 :(得分:0)

如你所说,查询memcached就像你想要的那样是不可能的......但这里有一个我发现返回键列表的php示例

http://snipt.org/xtP

发送

  • “stats items”

然后迭代返回的项目并发送

  • “stats cachedump 42 100”

42是项目编号,100是要返回的项目数

然后你可以迭代返回的键并删除你不再需要的键。

(但无论如何这都是一个丑陋的解决方法......)