私はいくつかのキャッシングフレームワークを見てきました。つまり、Memcached/Couchbase、AppFabric、Redis、MongoDB
わかりました..それらのいくつかは実際にはキャッシュフレームワークであり、他のものは「ドキュメントストア」です。
ここで質問があります... すべてのキャッシュ キー (たとえば、すべてのキャッシュされた製品) を単に知らない状況によく遭遇しますが、たとえば、すべてのキャッシュされた製品が削除されていることを確認したいと考えています。Runtime.MemoryCache を使用すると、キーベースの依存関係を使用できます。これにより、たとえば「製品」キーを作成し、他のすべての製品がこのキーを依存関係として使用できます。「製品」を削除するたびに、このキーに関連するすべてのキーも削除されます。
残念ながら、MongoDB、Couchbase、Redis にはそのような機能はありません。少なくとも私はそれに関する情報を見つけることができませんでした。Redis には KEYS ( http://redis.io/commands/keys ) コマンドがありますが、ドキュメントには本番環境では使用しないように記載されています。
AppFabric は依存関係を処理できますが、他にも欠点があります。たとえば、タグ (依存関係として使用) を使用する場合は、リージョンも使用する必要があります。ただし、リージョンを使用すると、高可用性が失われます。
とにかく...私の質問は次のとおりです。これは、そのような依存関係を必要とする非常にまれなシナリオですか、それとも私が評価したデータベース/キャッシングフレームワークの欠点ですか?