0

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

4

1 回答 1

0

APC 实际上具有过滤器(在配置中)以过滤掉不应缓存的文件。不幸的是,这不是您想要的,目前没有 APC 函数可以根据正则表达式检索键列表。

然而你可以,

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

在 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);
}
于 2013-06-09T13:30:50.227 回答