【发布时间】:2012-02-05 12:42:33
【问题描述】:
APC 允许您将数据存储在键中,但您不能对这些键进行分组。
因此,如果我想要一个名为“articles”的组,并且在该组中我将拥有采用文章 ID 形式的键,我将无法轻松做到这一点。
articles -> 5 -> cached data
-> 10 -> cached data
-> 17 -> cached data
...
我可以在键前加上“组”名称,例如:
article_5 -> cached data
article_10 -> cached data
article_17 -> cached data
...
但是,如果我想删除整个组,就不可能:(
一个可行的解决方案是存储多维数组(这是我现在正在做的),但我不认为这很好,因为当我想访问/或删除缓存数据时,我需要获取整个组第一的。因此,如果该组中有无数篇文章,您可以想象我将迭代和搜索什么样的数组
您对我如何实现小组目标有更好的想法吗?
编辑: 找到了另一个解决方案,不确定它是否更好,因为我还不知道可靠程度如何。我正在添加一个名为
__paths 的特殊键,它基本上是一个多维数组,其中包含缓存中所有其他条目的完整前缀键路径。当我请求或删除缓存时,我使用这个数组作为参考来快速找出我需要删除的键(或键组),所以我不必存储数组并遍历所有键......
【问题讨论】: