我试图找到一种处理 memcache 密钥的好方法,以便以更文明的方式存储、检索和更新缓存层的数据。
找到了这个模式,看起来很棒,但是如何将它变成 PHP 应用程序的功能部分?
身份映射模式:http ://martinfowler.com/eaaCatalog/identityMap.html
谢谢!
更新:有人告诉我修改后的 memcache (memcache-tag) 显然做了很多这样的事情,但我无法在我的 windows 开发盒上安装 linux 软件......
我试图找到一种处理 memcache 密钥的好方法,以便以更文明的方式存储、检索和更新缓存层的数据。
找到了这个模式,看起来很棒,但是如何将它变成 PHP 应用程序的功能部分?
身份映射模式:http ://martinfowler.com/eaaCatalog/identityMap.html
谢谢!
更新:有人告诉我修改后的 memcache (memcache-tag) 显然做了很多这样的事情,但我无法在我的 windows 开发盒上安装 linux 软件......
好吧,memcache 使用是一种身份映射模式。你检查你的缓存,然后你点击你的数据库(或者你正在使用的任何其他东西)。您可以通过存储对象而不仅仅是值来查找有关源的信息,但您会因此而受到性能损失。
您实际上无法询问缓存它作为列表包含的内容。要大规模失效,您必须保留一个列表并列出您放入的内容并对其进行迭代,或者您必须迭代所有可能符合关注模式的键。您指出的资源 memcache-tag 可以简化这一点,但它似乎没有与 memcache 项目保持内联。
因此,您现在的选择是迭代删除,或者完全刷新缓存的所有内容。因此,我建议设计考虑是您应该问的问题。为了给你一个有用的答案,我这样问:你为什么要这样做?