3

我试图找到一种处理 memcache 密钥的好方法,以便以更文明的方式存储、检索和更新缓存层的数据。

找到了这个模式,看起来很棒,但是如何将它变成 PHP 应用程序的功能部分?

身份映射模式:http ://martinfowler.com/eaaCatalog/identityMap.html

谢谢!

更新:有人告诉我修改后的 memcache (memcache-tag) 显然做了很多这样的事情,但我无法在我的 windows 开发盒上安装 linux 软件......

4

1 回答 1

5

好吧,memcache 使用是一种身份映射模式。你检查你的缓存,然后你点击你的数据库(或者你正在使用的任何其他东西)。您可以通过存储对象而不仅仅是值来查找有关源的信息,但您会因此而受到性能损失。

您实际上无法询问缓存它作为列表包含的内容。要大规模失效,您必须保留一个列表并列出您放入的内容并对其进行迭代,或者您必须迭代所有可能符合关注模式的键。您指出的资源 memcache-tag 可以简化这一点,但它似乎没有与 memcache 项目保持内联。

因此,您现在的选择是迭代删除,或者完全刷新缓存的所有内容。因此,我建议设计考虑是您应该问的问题。为了给你一个有用的答案,我这样问:你为什么要这样做?

于 2010-04-27T17:14:18.903 回答