方法1:注文されたセットをRedisする(ソートされたセット、zset)
Redisの順序付きコレクションは、通常のコレクションと同様です。これ
も文字列型要素のコレクションであり、重複するメンバーは許可されません。
Redisの順序付きセットと通常のセットの違い
は、各要素がダブルタイプのスコアに関連付けられていることです。Redisはスコアを使用して、コレクションのメンバーを小さいものから大きいものに並べ替えます。
順序集合のメンバーは一意ですが、スコア(スコア)を繰り返すことができます。
例:
コマンドZADDを使用してRedisの順序セットに3つの値を追加し、スコアを関連付けます
redis 127.0.0.1:6379> ZADD runoobkey 1 redis
(integer) 1
redis 127.0.0.1:6379> ZADD runoobkey 2 mongodb
(integer) 1
redis 127.0.0.1:6379> ZADD runoobkey 3 mysql
(integer) 1
redis 127.0.0.1:6379> ZADD runoobkey 3 mysql
(integer) 0
redis 127.0.0.1:6379> ZADD runoobkey 4 mysql
(integer) 0
redis 127.0.0.1:6379> ZRANGE runoobkey 0 10 WITHSCORES
1) "redis"
2) "1"
3) "mongodb"
4) "2"
5) "mysql"
6) "4"
方法2:Redisリスト(リスト)
Redisリストには、通常のリストの特性があります。つまり、データは順序付けられ、繰り返し可能です。ただし、Redisリストの最下層は二重リンクリストによって実装されているため、両端から要素を押したりポップしたりするという特徴があります。
例:
データを左から順番にプッシュ
redis 127.0.0.1:6379> LPUSH runoobkey redis
(integer) 1
redis 127.0.0.1:6379> LPUSH runoobkey mongodb
(integer) 2
redis 127.0.0.1:6379> LPUSH runoobkey mysql
(integer) 3
redis 127.0.0.1:6379> LRANGE runoobkey 0 10
1) "mysql"
2) "mongodb"
3) "redis"
注意
コレクション内の要素ごとに有効期限を設定することはできないため、コレクション要素の有効期限とクリアの問題を解決するために他の対策を講じる必要があります。次に例を示します。(1)タイミングタスクを設定できます。(2)順序付きコレクションの場合、スコアをタイムスタンプに設定して、有効期限を表すことができます。