私は24時間以内に有効期限が切れるユーザーのためのアイテムのリストを格納する方法を探しています。 Redisを使用してこれを達成する方法はありますか?私はリストを使い、各アイテムの有効期限を設定することを考えていましたが、よりよい方法はありますか?期限切れのエントリがあるリスト
1
A
答えて
3
いいえ、各アイテムの有効期限をLIST
に設定することはできません。有効期限は、LIST
全体に対してのみ設定できます。
あなたが望むものを達成するために、あなたは各項目のキーを持っている必要がありますが:
SET user1:item1 value EX 86400
SET uesr1:iter2 value EX 86400
SET user2:item1 value EX 86400
指定したユーザーのすべてのアイテムを取得するには、パターン(または使用してSCAN
コマンドを使用することができますより良い性能を達成するためにKeyspace Notification
が、より複雑な作業で):
SCAN 0 MATCH user1:*
2
受け入れ答えで述べたように、Redisの中に有効期限が唯一のキー・レベルで実行されます - ネストされた要素が期限切れにすることはできません。
期限切れの要素を含むリストを実装するには、ソートセットデータ構造を使用できます。すべてのメンバーのスコアは現在のエポックでなければなりません。挿入の順序はそのままです。値(メンバー)が一意でない場合、例えば、エポックを連結してので、それらを作る:
ZADD user1:items 1514822755 1514822755:value
ZADD user1:items 1514822758 1514822758:value
の項目を「有効期限切れ」には、-inf
からZREMRANGEBYSCORE
を呼び出し、現在のエポックマイナス24時間。
関連する問題
- 1. Javaの期限切れのリスト/セット?
- 2. ヘロクでMemcachedエントリを期限切れにするには
- 3. トランザクションタイムアウトが期限切れ)
- 4. バックボーンハンドルセッションの期限が切れる
- 5. Active Directoryアカウントの期限が切れる
- 6. セッションが期限切れであることを知るには?
- 7. 期限が切れる日付
- 8. cURLクッキーネガティブクッキーが期限切れになる
- 9. NGINX - ヘッダーが期限切れになる
- 10. 期限切れのプロビジョニングプロファイル
- 11. Django期限切れのセッション
- 12. OpenCartクライアントセッションの期限切れ
- 13. セッションが期限切れのウェブサイトでベーカー
- 14. GWT-RPCタイムアウトの期限が切れ
- 15. 「トークンの有効期限が切れて」
- 16. タイムアウト期限切れ - 接続
- 17. ストライプ - リダイレクト、期限切れセッション
- 18. NSFetchedResultsController with> now()は、期限切れのエントリを更新しません。
- 19. 期限切れのHTTPレスポンスコード(ただし、必ずしも期限切れではありません)URL
- 20. 要素の有効期限が切れたときにシグナル機能を使用したマップの期限切れ
- 21. Jedisで期限切れになる
- 22. ユーザー、oauth_token、有効期限が切れるが、Facebookのからsigned_request
- 23. ジキルブートストラップベースのブログ - ヘッダーの期限切れ?
- 24. 期限切れのセッションの処理
- 25. IdentityServer - 期限切れのトークンの処理
- 26. ドメインの期限切れ/削除のリストを取得する方法
- 27. 期限切れのセッション:ランダムに削除する必要がありますか?
- 28. DefaultHttpClient()と期限切れのSSL
- 29. 期限切れのクエリとAppengine
- 30. Kentico 10パスワードの期限切れC#