过滤键/值(特别是APC)数据存储项

时间:2013-06-09 12:16:20

标签: php regex apc key-value-store

当我开始使用APC时,我预计有一种方法可以为缓存项目制作类别,而不仅仅是键/值对。因为我只想清除一个应用程序的缓存或只清除我的应用程序的一部分。 当我发现它只是键/值对时,我脑子里浮现出一个新问题: 是否有任何方法可以通过REGEX过滤APC缓存中的密钥而不是精确密钥匹配?

1 个答案:

答案 0 :(得分:0)

APC实际上已经过滤器(在配置中)过滤掉缓存的文件。不幸的是,这不是你想要的,目前没有APC功能来检索基于正则表达式的密钥列表。

但是你可以,

  • store数组,其中包含APC中的键列表
  • include 文件中维护此类数组(取决于列表的动态程度)

在APC中,假设您有一个键列表

'x-orange' : value, 'x-apple' : value, 'x-banana' : value, 
'x-Life of Pi' : value, 'x-The Hobbit' : value,...

例如,中的类别数组包含文件或APC变量

$cats = array('Fruits' => array('orange','apple','banana'),
              'Movies' => array('Life of Pi', 'The Hobbit'), ...

然后您可以按类别检索APC数据

$mycat = ...; // eg Movies
foreach ($cats[$mycat] as $key) {
   echo "$key : " . apc_fetch('x-' . $key);
}