3

より文明化された方法でキャッシュレイヤーとの間でデータを保存、取得、更新するためのmemcacheキーを処理する良い方法を見つけようとしています。

見栄えのするこのパターンを見つけましたが、どうすればそれを PHP アプリケーションの機能的な部分に変えることができるでしょうか?

アイデンティティ マップ パターン: http://martinfowler.com/eaaCatalog/identityMap.html

ありがとう!

更新: 変更された memcache (memcache-tag) について聞いたことがありますが、これは明らかに多くのことを行っていますが、Windows 開発ボックスに Linux ソフトウェアをインストールできません...

4

1 に答える 1

5

まあ、memcache の使用は ID マップ パターンです。キャッシュを確認してから、データベース (または使用している他のもの) にアクセスします。値だけでなくオブジェクトを保存することで、ソースに関する情報を見つけることができますが、そのためにパフォーマンスが低下します。

リストとして何が含まれているかをキャッシュに尋ねることは事実上できません。大量に無効化するには、入力したもののリストを保持して反復するか、関心のあるパターンに適合する可能性のあるすべてのキーを反復する必要があります。あなたが指摘したリソース memcache-tag はこれを簡素化できますが、memcache プロジェクトとインラインで維持されているようには見えません。

したがって、現在のオプションは、反復的な削除、またはキャッシュされているすべてのものを完全にフラッシュすることです。したがって、設計上の考慮事項があなたが尋ねるべき質問であることを提案します。あなたにとって有用な答えを得るために、私は次のように質問します: なぜあなたはこれをしたいのですか?

于 2010-04-27T17:14:18.903 に答える