私は自分のウェブサイトにキャッシングシステムを注入することを計画しており、それをさまざまなレイヤー(データ、プレゼンテーション、その他の場所にある可能性があります)で使用します。スタックLAMPとAWS上のインフラストラクチャ100%クラウドであるため、当然の選択はAmazon Elasticache(memcachedのマネージドインストール)だと思いました。だが...
驚いたことに、私にとっては、memcachedに依存関係管理がまったくないことを発見しました。ASP.NetキャッシュのSqlDependencyやFileDependencyのような「高度な」ものは必要ありませんが、memcachedは他のキーの簡単な依存関係も提供しません。これは、無効化プロセスを大幅に簡素化する依存関係ツリーを構築するのに非常に便利です。
それで、memcachedが多くの複雑なシステムで使用されていることを知っているので、何かが足りませんか?これを無関係にする使用パターンはありますか?
ありがとう
求められたとおりに更新し、意味を明確にするためにいくつかの擬似コードを追加します
dependency = 'ROOT_KEY';
cache:set(dependency, 0, NEVER_EXPIRE);
expire = 600;
cache:set('key1', obj1, expire, dependency);
cache:set('key2', obj2, expire, dependency);
...
cache:set('keyN', objN, expire, dependency);
//later, when I have to invalidate
cache:remove(dependency); //this will cause all keyX to be invalidated too