We use Memcached and Zend Framework in our web project. Now, we need to clean cache selectively using tags as specified in Zend_Cache API.
Unfortunately, memcached doesn't support tags.
I have found these workarounds:
- Memcached-tag project. Has anybody tested it? How to implement it with Zend?
- Use wildchards like in this question, but it seems a bit confusing, less transparent and harder to implement with Zend.
- Use this implementation or this one, for supporting tags in Memcached, beeing aware of the drawbacks.
- Any other option?
Thanks in advance
You're right. Memcache don't support tags.
You can use another key-value to implement tag for memcache.
EX :
$this->objCache->save($arrResults, $strKey,array($strMyTag),$intCacheTime) // note : array($strMyTag) don't work for Memcache
MemcacheTag::setTag($strKey, $strMyTag) // our work around
About setTag Method & MemcacheTag:
function setTag($strKey,$strTag){
}
function deleteCacheWithTag($strTag){
}
This work around is quite simple and it works for my projects.
*Note: these codes need some modification, sorry for posting in a hurry