2012-08-17 242 views
2

我在我的rails应用程序中使用memcache。我想说通过正则表达式过期memcache

过期的所有条目与像 '富-123- *'

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

有几个项目排序是解决这个问题,通过保持键的本地列表:

但保持在内存中的列表...该列表可能会在应用程序实例之间失去同步...所以它不可靠。

此问题是否以其他方式解决?我错过了一个通用解决方案吗?

+0

您是否找到任何解决此问题的方法? – 2013-01-14 11:35:18

+0

不,据我所知没有。我发现的最佳解决方案是这样的:http://quickleft.com/blog/faking-regex-based-cache-keys-in-rails – 2013-01-14 21:05:59

+0

谢谢@John Bachir – 2013-01-15 05:47:52

回答

0

如你所说,查询memcached的像你想是不可能的......但这里是一个PHP的例子,我发现,返回键列表

http://snipt.org/xtP

发送

  • “统计物品“

并比迭代返回的物品和发送

  • “统计cachedump 42 100”

42项号,100项目数返回

那么你可以通过返回键然后遍历并删除你不需要任何更多的键。

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