筛选键/值(特别是APC)数据存储项


filter a key/value (specially APC) data store items

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

APC实际上有过滤器(在配置中)来过滤掉那些不应该被缓存的文件。不幸的是,这不是你想要的,目前没有APC函数来检索基于正则表达式的键列表。

无论如何,

  • 在APC
  • 中存储一个包含键列表的数组
  • include文件中维护这样的数组(取决于列表的动态程度)

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

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

例如,在include文件或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);
}