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