ZendCacheStorageAdapter clearByTags标记,ZF2中有参数



我使用的是bramsbroker的StrokerCache Zend Framework 2模块,该模块本身使用Zend\Cache,并具有clearByTags()方法。

如果我想清除缓存,以下操作很好:

public function fooAction()
{
    $cs = $this->getServiceLocator()->get('strokercache_service');
    var_dump($cs->clearByTags(array(
        'controller_ClientCmsControllerCms'           
    )));
}

但是,如果我想包含参数,该怎么办

    $cs->clearByTags(array(
        'controller_ClientCmsControllerCms,param_action:index,param_client:foo'           
    ));

是否不工作

以下是缓存目录中的标记文件的样子:

strokercache_route_home/client
strokercache_controller_ClientCmsControllerCms
strokercache_param_action_index
strokercache_param_client_foo

answare很简单:请使用ever标记作为自己的数组元素:

$cs->clearByTags(array(
    'controller_ClientCmsControllerCms',
    'param_action_index',
    'param_client_foo',
));

由于我不使用该模块,我无法对其进行测试,但经过快速的代码审查,这应该可以工作。看见https://github.com/bramstroker/zf2-fullpage-cache/blob/master/src/StrokerCache/Controller/CacheController.php#L41

相关内容

  • 没有找到相关文章

最新更新