我在给memcached写很多键/值-> PREFIX_KEY1,PREFIX_KEY2,PREFIX_KEY3

我需要获取所有以PREFIX_开头的密钥

可能吗?

最佳答案

对不起,不行。 Memcached使用一种散列算法,该算法将密钥分布在明显随机的位置,因此这些密钥散布在各处。您必须扫描所有内容以找到它们。

您还应该意识到,根据设计,memcached可以出于任何原因随时删除任何键。如果要放入东西,则应注意,不能依靠它回来。这对于它的原始用例(一种减少数据库命中的缓存)来说绝对不错。但是,如果您想对它做一些更复杂的事情,则可能是一个严重的问题。

如果这些限制是一个问题,我建议您改用Redis。它的行为与memcached非常相似,除了它将持久化数据并允许您存储复杂的数据结构。因此,对于您的用例,您可以将哈希存储在Redis中,然后再将整个哈希取出。

关于memcached - 是否可以通过前缀获取/搜索Memcached key ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4889631/

10-13 08:38