3

私は、RedisとMemcachedの両方を使用するアプリケーションのキャッシュ戦略に取り組んでいます。

SQLデータベースから計算された、キャッシュされたデータのかなり長いJSON文字列を生成します。キャッシュされたデータは使い捨てなので、Memcachedを使用して、不要になったキーを削除します。

問題は、1つのコレクション(たとえば、Users)が異なるパラメーターからアクセスできることです。Redisではハッシュを使用するのでhget、コレクションの表現ごとにそのハッシュのキー()にアクセスでき、1つのコマンド(del)ですべてのキーを期限切れにすることができます。ただし、Memcachedのように、古いキーを特定のDBサイズに削除する方法を見つけることができません。

だから私の質問はどちらかです:

  • 最大DBサイズを維持し、必要に応じてキーを削除するようにRedisを設定するにはどうすればよいですか?または
  • MemcachedでRedisハッシュをモデル化して、キーのグループを簡単に期限切れにできるようにするにはどうすればよいですか?
4

1 に答える 1

5

memcachedのようなキャッシュ動作を持つようにRedisを構成するには、次のように構成ファイルを更新する必要があります。

  • maxmemoryの値を設定します(バイト単位)
  • maxmemory-policyをallkeys-lruに設定します

必要な動作を取得する必要があります。

于 2012-06-20T17:41:57.493 に答える