我正在向 memcached 写入大量键/值 -> PREFIX_KEY1、PREFIX_KEY2、PREFIX_KEY3
我需要获取所有以 PREFIX_ 开头的键
可能吗?
最佳答案
抱歉,没有。 Memcached 使用哈希算法将 key 分布在明显随机的位置,因此这些 key 分散在各处。您必须扫描所有内容才能找到它们。
此外,您还应该意识到,根据设计,memcached 可以出于任何原因随时删除任何键。如果你要放入东西,你应该意识到你不能指望它会回来。这对于其原始用例来说绝对没问题,即用于减少数据库命中的缓存。但如果你想用它做一些更复杂的事情,这可能是一个严重的问题。
如果这些限制是一个问题,我建议您改用 Redis。它的行为很像 memcached,只不过它会持久保存数据并且允许您存储复杂的数据结构。因此,对于您的用例,您可以在 Redis 中存储哈希,然后稍后取出整个哈希。
关于memcached - 是否可以通过前缀获取/搜索 Memcached 键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4889631/