37

私はredisリストを使用していて、新しいアイテムをリストにプッシュしています。問題は、リスト内の最新の10個のアイテムのみが実際に必要なことです。

lpushリストにアイテムを追加し、lrange最新の10を取得するために使用しています。

とにかく特定の数の後にアイテムをドロップすることはありますか?最終的には、1,000のアイテムが含まれる可能性があり、レイテンシーに関するパフォーマンスの問題を引き起こす可能性のあるリストになります。

ありがとうございました!

4

5 に答える 5

53

ごとlpushに を呼び出しltrimて、リストを 10 要素にトリムします

http://redis.io/commands/ltrimを参照してください

于 2012-08-21T17:33:06.070 に答える
10

次のコード、

  • アイテムをリストにプッシュし、
  • サイズを 10 に固定し、
  • 最新の 10 個の要素を返します

トランザクションで。

MULTI
LPUSH list "item1"
LTRIM list 0 9
LRANGE list 0 9
EXEC
于 2015-03-09T10:22:57.680 に答える