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

标签 zend-framework caching memcached zend-cache

我们在 Web 项目中使用 Memcached 和 Zend Framework。现在,我们需要使用 Zend_Cache API 中指定的标签有选择地清理缓存.

不幸的是,memcached doesn't support tags .

我找到了这些解决方法:

提前致谢

最佳答案

你是对的。 Memcache 不支持标签。

您可以使用另一个键值来为内存缓存实现标签。

例如:

$this->objCache->save($arrResults, $strKey,array($strMyTag),$intCacheTime) // note : array($strMyTag) don't work for Memcache

MemcacheTag::setTag($strKey, $strMyTag) // our work around

关于 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);

    }

}

这个解决方法非常简单,适用于我的项目。

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

关于zend-framework - 如何使用 Memchached 后端和 Zend Framework 有选择地清除缓存(使用标签或其他选项),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24162415/

相关文章:

javascript - JS/AJAX 浏览器缓存问题

zend-framework - XAMPP + Zend Framework = .phtml 文件不呈现

php - CSV 生成有 ',' 问题

php - WordPress 有时很慢,有时又很快

mysql - 在内存中存储 MySQL 写入

multithreading - memcache 和 redis 的内部工作方式有何不同

linux - 主从 Memcache 复制

php - 如何在 Zend MVC 中实现 SSL

php - 我在哪里保存 Zend_Form 文件?

mysql - 从数据库加载数据到内存池 [gwan]