Redis Sorted Set秩序化集合記憶動作方法


459479177 QQ群に参加して交流することを歓迎します
この章はRedis Sorted Set秩序化集合の5つの方式の最後の1つである.
まずredis-cliを使用してredisに入ります
[root@web1 ~]# redis-cli 
127.0.0.1:6379>

1>zadd
方法:zadd key source 1[key sourceN...]
説明:1つ以上の順序付き集合メンバー要素を追加し、存在する場合はメンバーのスコア値を更新し、この成語を挿入してメンバーが正しい位置にあることを確認し、keyが存在しない場合は新しいkeyを作成し、zadd操作を実行します.
127.0.0.1:6379> zadd zkey1 1 Sunshine            \\       1
(integer) 1
127.0.0.1:6379> zrange zkey1 0 -1 withscores
1) "Sunshine"
2) "1"
127.0.0.1:6379> zadd zkey1 3 Sunshine            \\    3
(integer) 0
127.0.0.1:6379> zrange zkey1 0 -1 withscores      \\      3,         
1) "Sunshine"
2) "3"

2>zcard
方法:zcard key
説明:keyのメンバー要素の数を表示します.1つのスコア値は複数の要素に対応します.
127.0.0.1:6379> zadd zkey 1 Sunshine 1 Sunshine2 1 Sunshine3
(integer) 3
127.0.0.1:6379> zcount zkey 1 3
(integer) 3
127.0.0.1:6379> zrange zkey 0 -1 withscores
1) "Sunshine"
2) "1"
3) "Sunshine2"
4) "1"
5) "Sunshine3"
6) "1"

3>zcount
方法:zacount key min max
説明:指定したセットのメンバー要素の統計
127.0.0.1:6379> zrange zkey2 0 -1 withscores
(empty list or set)
127.0.0.1:6379> zadd zkey2 1 Sushine 1 Sunshine0 
(integer) 2
127.0.0.1:6379> zrange zkey2 0 -1 withscores
1) "Sunshine0"
2) "1"
3) "Sushine"
4) "1"
127.0.0.1:6379> zcount zkey2 1 2
(integer) 2

4>zincrby
方法:zincrby key increment member
説明:順序付きセットのメンバーの増分値を指定します.
127.0.0.1:6379> zrange zkey2 0 -1 withscores
1) "Sunshine0"
2) "1"
3) "Sushine"
4) "1"
5) "Sunshine"
6) "5"
127.0.0.1:6379> zincrby zkey2 5 "Sunshine"
"10"
127.0.0.1:6379> zrange zkey2 0 -1 withscores
1) "Sunshine0"
2) "1"
3) "Sushine"
4) "1"
5) "Sunshine"
6) "10"
127.0.0.1:6379> zincrby zkey2 -5 "Sunshine"
"5"
127.0.0.1:6379> zrange zkey2 0 -1 withscores
1) "Sunshine0"
2) "1"
3) "Sushine"
4) "1"
5) "Sunshine"
6) "5"

5>zintersotre
方法:zintersotredestination numkeys key[key...][weights weighe [weight...]] [aggregate sun|min|max]
説明:後のdestinationの後のセットの同じメンバーを数値的に加算してdestinatioのセットメンバーに追加します.
127.0.0.1:6379> zrange zkey3 0 -1 withscores
1) "Sunshine"
2) "11"
3) "SunshineBoy"
4) "44"
127.0.0.1:6379> zrange zkey4 0 -1 withscores
1) "Sunshine"
2) "22"
3) "SunshineBoy"
4) "33"
127.0.0.1:6379> zinterstore zkey5 2 zkey4 zkey3
(integer) 2
127.0.0.1:6379> zrange zkey5 0 -1 withscores
1) "Sunshine"
2) "33"
3) "SunshineBoy"
4) "77"

6>zlexcount
方法:zlexcount key min max
説明:整列集合ディクショナリ区間メンバー数の指定
127.0.0.1:6379> zrange zkey6 0 -1 withscores
 1) "a"
 2) "0"
 3) "b"
 4) "0"
 5) "c"
 6) "0"
 7) "d"
 8) "0"
 9) "e"
10) "0"
11) "f"
12) "0"
13) "g"
14) "0"
127.0.0.1:6379> zlexcount zkey6 [b [f
(integer) 5
127.0.0.1:6379> zlexcount zkey6 [b [g
(integer) 6

7>zrange 
方法:zrange key start end[withscores]
説明:表示順序セット区間メンバーの指定
127.0.0.1:6379> zrange zkey6 0 -1 withscores
 1) "a"
 2) "0"
 3) "b"
 4) "0"
 5) "c"
 6) "0"
 7) "d"
 8) "0"
 9) "e"
10) "0"
11) "f"
12) "0"
13) "g"
14) "0"
127.0.0.1:6379> zrange zkey6 0 3 withscores
1) "a"
2) "0"
3) "b"
4) "0"
5) "c"
6) "0"
7) "d"
8) "0"

8>zrangebylex
方法:zrangebylex key min max[limit offset count]
説明:ディクショナリ区間で秩序化された集合メンバーを返す
127.0.0.1:6379> zrangebylex zkey6 - [c
1) "a"
2) "b"
3) "c"
127.0.0.1:6379> zrangebylex zkey6 - +
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
6) "f"
7) "g"
127.0.0.1:6379> zrange zkey6 0 -1 withscores
 1) "a"
 2) "0"
 3) "b"
 4) "0"
 5) "c"
 6) "0"
 7) "d"
 8) "0"
 9) "e"
10) "0"
11) "f"
12) "0"
13) "g"
14) "0"

9>zrangesotre
方法:zrangesotre key min max[withscores][limit offsec count]
説明:メンバー分割値から区間メンバーを返す
127.0.0.1:6379> zrangebyscore zkey10 -inf +inf            \\          
1) "jack"
2) "tom"
3) "Sunshine"
127.0.0.1:6379> zrangebyscore zkey10 -inf +inf withscores    \\           score
1) "jack"
2) "2000"
3) "tom"
4) "8000"
5) "Sunshine"
6) "15000"
127.0.0.1:6379> zrangebyscore zkey10 -inf 5000  withscores        \\      5000      
1) "jack"
2) "2000"
127.0.0.1:6379> zrangebyscore zkey10  (5000 20000  withscores        \\     5000 20000     
1) "tom"
2) "8000"
3) "Sunshine"
4) "15000"
127.0.0.1:6379>

10>zrank
方法:zrankkey member
説明:秩序化された集合メンバーのインデックス(indexまたは下付き)を表示します.
127.0.0.1:6379> zrank zkey10 tom
(integer) 1
127.0.0.1:6379> zrank zkey10 Sunshine
(integer) 2
127.0.0.1:6379> zrank zkey10 jack
(integer) 0
127.0.0.1:6379> zrange zkey10 0 -1 withscores
1) "jack"
2) "2000"
3) "tom"
4) "8000"
5) "Sunshine"
6) "15000"

11>zrem
方法:zrem key member[member...]
説明:1つの順序付き集合メンバーまたは複数のメンバーを削除する
127.0.0.1:6379> zrange zkey10 0 -1 withscores
1) "jack"
2) "2000"
3) "tom"
4) "8000"
5) "Sunshine"
6) "15000"
127.0.0.1:6379> zrem zkey10 jack
(integer) 1
127.0.0.1:6379> zrem zkey10 tom Sunshine
(integer) 2
127.0.0.1:6379> zrange zkey10 0 -1 withscores
(empty list or set)

12>zremrangebylex
方法:zremrangebylex key min max
説明:Zremrangebylexコマンドは、整列セット内の指定された辞書区間のすべてのメンバーを除去するために使用されます.
127.0.0.1:6379> zrange zkey2 0 -1 withscores
 1) "a"
 2) "1"
 3) "b"
 4) "1"
 5) "c"
 6) "1"
 7) "d"
 8) "1"
 9) "e"
10) "1"
11) "f"
12) "1"
13) "g"
14) "1"
15) "h"
16) "1"
17) "l"
18) "1"
19) "m"
20) "1"
127.0.0.1:6379> zremrangebylex zkey2 [a [c
(integer) 3
127.0.0.1:6379> zrange zkey2 0 -1 withscores
 1) "d"
 2) "1"
 3) "e"
 4) "1"
 5) "f"
 6) "1"
 7) "g"
 8) "1"
 9) "h"
10) "1"
11) "l"
12) "1"
13) "m"
14) "1"
127.0.0.1:6379> zremrangebylex zkey2 [d [h
(integer) 5
127.0.0.1:6379> zrange zkey2 0 -1 withscores
1) "l"
2) "1"
3) "m"
4) "1"

13>zremrangeburank
方法:zremrangebyrankkey start end
説明:順序付きセットで指定されたランキング区間のすべてのメンバーを削除します(下付きを指定します).
127.0.0.1:6379> zrange zkey11 0 -1 withscores
1) "Sunshine"
2) "100"
3) "SunshineBoy"
4) "200"
5) "SnshineBoySZF"
6) "300"
127.0.0.1:6379> zremrangebyrank zkey11 0 0
(integer) 1
127.0.0.1:6379> zrange zkey11 0 -1 withscores
1) "SunshineBoy"
2) "200"
3) "SnshineBoySZF"
4) "300"
127.0.0.1:6379> zremrangebyrank zkey11 0 0
(integer) 1
127.0.0.1:6379> zrange zkey11 0 -1 withscores
1) "SnshineBoySZF"
2) "300"
127.0.0.1:6379> zadd zkey11 500 hehe
(integer) 1
127.0.0.1:6379> zrange zkey11 0 -1 withscores
1) "SnshineBoySZF"
2) "300"
3) "hehe"
4) "500"
127.0.0.1:6379> zremrangebyrank zkey11 0 1
(integer) 2
127.0.0.1:6379> zrange zkey11 0 -1 withscores
(empty list or set)

14>zremrangebyscore
方法:zremrangebyscore key min max
説明:秩序化されたセットを指定し、区間のメンバーを削除します.
127.0.0.1:6379> zadd zkey12 100 Sunshine 200 SunshineBoy 300 SnshineBoySZF
(integer) 3
127.0.0.1:6379> zrange zkey12 0 -1 withscores
1) "Sunshine"
2) "100"
3) "SunshineBoy"
4) "200"
5) "SnshineBoySZF"
6) "300"
127.0.0.1:6379> zremrangebyscore zkey12 200 300
(integer) 2
127.0.0.1:6379> zrange zkey12 0 -1 withscores
1) "Sunshine"
2) "100"

15>zrevrage
方法:zrevrange key start end[withscores]
説明:順序付けされたセットの順序付けを指定します.
127.0.0.1:6379> zrange zkey12 0 -1 withscores
1) "Sunshine"
2) "100"
3) "SunshineBoy"
4) "200"
5) "SnshineBoySZF"
6) "300"
127.0.0.1:6379> zrevrange zkey12 0 -1 withscores
1) "SnshineBoySZF"
2) "300"
3) "SunshineBoy"
4) "200"
5) "Sunshine"
6) "100"

16>zrevrangebybscore
方法:zrevrangebyscore key min max[withscores][limit offsec count]
説明:順序付けされた集合を指定し、指定されたスコア値に基づいて高さから並べ替えます(一般的には、指定された値に基づいて逆順序になります).
127.0.0.1:6379> zrevrange zkey12 0 -1 withscores
1) "SnshineBoySZF"
2) "300"
3) "SunshineBoy"
4) "200"
5) "Sunshine"
6) "100"
127.0.0.1:6379>zrevrangebyscore zkey 12+inf-inf\逆配列
1) "SnshineBoySZF"
2) "SunshineBoy"
3) "Sunshine"
127.0.0.1:6379> zrevrangebyscore zkey12 200 100
1) "SunshineBoy"
2) "Sunshine"
17>zrevrank
方法:zrevrankkey start end[withscores][limit offsec count]
127.0.0.1:6379> zrange zkey 0 -1 withscores
1) "sunshine"
2) "100"
3) "tom"
4) "200"
5) "jack"
6) "500"
7) "hehe"
8) "2000"
127.0.0.1:6379> zrevrank zkey tom
(integer) 2
127.0.0.1:6379> zrevrank zkey hehe
(integer) 0

18>zscore
方法:zscore key member
説明:順序付き集合のメンバーの数値を返します.
127.0.0.1:6379> zrange zkey 0 -1 withscores
1) "sunshine"
2) "100"
3) "tom"
4) "200"
5) "jack"
6) "500"
7) "hehe"
8) "2000"
127.0.0.1:6379> zscore zkey tom
"200"
127.0.0.1:6379> zscore zkey jack
"500"

19>zunionstore
方法:ZUNIONSTORE destination numkeys key[key...][WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]{公式に直接コピーして、公式の例ははっきりしていないで、後で理論を書きます}
説明:指定された1つ以上の秩序セットの並列セットを計算し、新しいkeyに格納します.
127.0.0.1:6379> zadd zkey1 100 a 200 b 
(integer) 2
127.0.0.1:6379> zadd zkey2 300 c 400 b 500 e
(integer) 1
127.0.0.1:6379> zunionstore zkey3  2 zkey1 zkey2 
(integer) 4
127.0.0.1:6379> zrange zkey3 0 -1 withscores
1) "a"
2) "100"
3) "c"
4) "300"
5) "e"
6) "500"
7) "b"
8) "600"

20>zscan
方法:ZSCAN key cursor[MATCH pattern][COUNT count]
説明:反復順序セット内の要素(要素メンバーと要素スコアを含む)
127.0.0.1:6379> zrange zkey 0 -1 withscores
 1) "No_s\x94ql"
 2) "1"
 3) "abc"
 4) "1"
 5) "ao"
 6) "1"
 7) "apche"
 8) "1"
 9) "mysql"
10) "1"
11) "nginx"
12) "1"
127.0.0.1:6379> zscan zkey 0 match a* count 1
1) "0"
2) 1) "abc"
   2) "1"
   3) "ao"
   4) "1"
   5) "apche"
   6) "1"

これでRedis sorted set秩序集合が紹介されます!
459479177 QQ群に参加して交流することを歓迎します