0

クライアントが POST を作成するとき、このリクエストによって変更されたすべてのデータを削除する必要があります。

私の memcached キーはハッシュされているため、プレフィックスで見つけることができません。私が見つけた唯一の解決策は、辞書をDBまたはキャッシュに保存することであり、私はキャッシュを好みます。

次のアイデアは良いと思いますか:

  • キャッシュキーの辞書/リストを保存しますか?
  • この関数にキャッシュまたはデータベースを使用するには?
  • 論理的およびパフォーマンスにおいて、それは本当に安定したソリューションですか?
  • たぶん、それを作るために2番目のキャッシュを使用しますか?

ありがとうございます。

編集:

次のようにdictを保存したい:

{
  'subject1': ['key1','key2'],
  'subject2': ['key3','key3']
}
4

1 に答える 1

1

アプリケーションの詳細を知らずに満足のいく答えを出すことは困難です。それを念頭に置いて...

これは許容できる解決策です。ただし、有効期限が切れる前にオブジェクトが memcached から削除される可能性があることに注意してください。その場合、キー インデックスが失われます。

特定のユース ケースに応じて、この制限が許容される場合と許容されない場合があります。

より効果的なアプローチは、キーの名前を賢くすることです。たとえば、アプリケーションが書籍を扱う場合book.<id>.authorbook.<id>.title、 などの名前でさまざまなデータをキャッシュできます。このようにして、ID 42 の書籍のすべてのデータを無効にする必要がある場合、すべてのキャッシュ名を生成するだけで済みます。 ( book.42.authorbook.42.titleなど)を無効にして削除する必要があります。

于 2013-09-16T18:44:51.810 に答える