0

Django アプリでは、redis を使用して、ユーザー ID がエポック以降の現在のスコアと共に保存されるグローバルな並べ替えられたセットを維持します。

11 分ごとに、ソートされたセットを 10 分以内に保存された値のみにトリミングする非同期タスクを実行します

以下はこれを達成しますか?エッジケースについては不明です(たとえば、これにより古い値がすべて削除されるか、リークが発生するかなど):

time_now = time.time() #current time since epoch
ten_mins_ago = time_now - (10*60)
eleven_mins_ago = time_now - (11*60)
my_redis_server.zremrangebyscore(sorted_set,eleven_mins_ago,ten_mins_ago)
4

1 に答える 1

1

eleven_mins_ago文字列値に置き換えて、 -inf10 分より古いものをすべて削除し、「リーク」を回避します。完全な詳細と説明については、 のドキュメント ページの排他的間隔と無限のセクションを参照してください。ZRANGE

于 2016-11-29T23:21:41.433 に答える