Zend framework 如何使用Memchached后端和Zend Framework选择性地清除缓存(使用标记或其他选项)

Zend framework 如何使用Memchached后端和Zend Framework选择性地清除缓存(使用标记或其他选项),zend-framework,caching,memcached,zend-cache,Zend Framework,Caching,Memcached,Zend Cache,我们在web项目中使用Memcached和Zend框架。现在,我们需要使用中指定的标记选择性地清理缓存 不幸的是 我找到了以下解决办法: 。有人测试过吗?如何使用Zend实现它 使用类似于中的wildchard,但它似乎有点混乱,不那么透明,更难用Zend实现 使用或,为了支持Memcached中的标记,请注意其缺点 还有其他选择吗 提前谢谢你说得对。Memcache不支持标记 您可以使用另一个键值来实现memcache的标记 例: 关于setTag方法和MemcacheTag: funct

我们在web项目中使用Memcached和Zend框架。现在,我们需要使用中指定的标记选择性地清理缓存

不幸的是

我找到了以下解决办法:

  • 。有人测试过吗?如何使用Zend实现它
  • 使用类似于中的wildchard,但它似乎有点混乱,不那么透明,更难用Zend实现
  • 使用或,为了支持Memcached中的标记,请注意其缺点
  • 还有其他选择吗

提前谢谢你说得对。Memcache不支持标记

您可以使用另一个键值来实现memcache的标记

例:

关于setTag方法和MemcacheTag:

function setTag($strKey,$strTag){

    $arrKey  = $cacheOjb->get($strTag);

    $arrKey[]= $strKey; 

}

function deleteCacheWithTag($strTag){

    $arrKey  = $cacheOjb->get($strTag);

    foreach ($arrKey as $strKey){

       $objCache->delete($strKey);

    }

}
这项工作非常简单,适用于我的项目

*注意:这些代码需要一些修改,很抱歉在匆忙中发布

function setTag($strKey,$strTag){

    $arrKey  = $cacheOjb->get($strTag);

    $arrKey[]= $strKey; 

}

function deleteCacheWithTag($strTag){

    $arrKey  = $cacheOjb->get($strTag);

    foreach ($arrKey as $strKey){

       $objCache->delete($strKey);

    }

}