3

Web プロジェクトでは Memcached と Zend Framework を使用しています。ここで、Zend_Cache APIで指定されているタグを使用して、キャッシュを選択的に消去する必要があります。

残念ながら、memcached はタグをサポートしていません

私はこれらの回避策を見つけました:

  • Memcached タグ プロジェクト. 誰かがそれをテストしましたか?Zendでそれを実装する方法は?
  • この質問のようにワイルドチャードを使用しますが、少し混乱し、透明性が低く、Zend で実装するのが難しいようです。
  • Memcached でタグをサポートするには、この実装またはこの実装を使用し、欠点を認識してください。
  • 他のオプションはありますか?

前もって感謝します

4

1 に答える 1

2

あなたが正しい。Memcache はタグをサポートしていません。

別のキー値を使用して、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);

    }

}

この回避策は非常に簡単で、私のプロジェクトでは機能します。

*注: これらのコードには修正が必要です。急いで投稿して申し訳ありません

于 2014-07-16T07:42:33.947 に答える