redis漸入佳境 05 zset型別

2021-06-27 14:07:26 字數 4996 閱讀 2821

zset就是有序集合,除了集合的特性外還對每乙個集合元素新增了乙個順序的屬性,

zadd方法使用具體如下:zadd 集合名  序號  集合元素

zrage方法的使用具體如下:zrange 集合名 開始位置 結束位置 [withscores]  //withscores 是指的是否顯示序號

redis 127.0.0.1:6379>

redis 127.0.0.1:6379> zadd zset1 0 xue //新增乙個元素並指定序號

(integer) 1

redis 127.0.0.1:6379> zadd zset1 1 lian

(integer) 1

redis 127.0.0.1:6379> zadd zset1 2 bo 3 bo//一次新增多個元素並指定序號

(integer) 1

redis 127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "xue"

2) "0"

3) "lian"

4) "1"

5) "twoe"

6) "2"

7) "bo"

8) "3"

redis 127.0.0.1:6379> zadd zset1 2 bo //重複新增會返回0

(integer) 0

redis 127.0.0.1:6379>

[redies@localhost redis-2.4]$

zcard命令,顯示集合中的元素個數

zcount命令,顯示集合中指定的序號範圍內的元素的個數

redis 127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "xue"

2) "0"

3) "lian"

4) "1"

5) "bo"

6) "2"

redis 127.0.0.1:6379> zcard zset1 //顯示元素的個數

(integer) 3

redis 127.0.0.1:6379> zcount zset1 1 2//顯示序號範圍內的元素個數

(integer) 2

為元素的序號進行自增:zincrby

redis 127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "xue"

2) "0"

3) "lian"

4) "1"

5) "bo"

6) "2"

redis 127.0.0.1:6379> zincrby zset1 5 xue //對元素 xue 的序號進行自增5

"5"redis 127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "lian"

2) "1"

3) "bo"

4) "2"

5) "xue"

6) "5"

redis 127.0.0.1:6379>

zrevrange 倒序顯示元素

zrangebyscore 根據序號的範圍顯示元素

zrank 顯示某個元素在集合中位置根據序號

zrevrank 反向

redis 127.0.0.1:6379> zrevrange zset1 0 -1 withscores

1) "xue"

2) "5"

3) "bo"

4) "2"

5) "lian"

6) "1"

redis 127.0.0.1:6379> zrangebyscore zset1 5 5

1) "xue"

redis 127.0.0.1:6379>

redis 127.0.0.1:6379> zrank zset1 xue

(integer) 2

redis 127.0.0.1:6379> zrevrank zset1 xue

(integer) 0

redis 127.0.0.1:6379>

zrem 刪除元素

redis 127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "xue"

2) "0"

3) "lian"

4) "1"

5) "bo"

6) "2"

7) "is"

8) "3"

9) "a"

10) "4"

11) "good"

12) "5"

13) "man"

14) "6"

15) "."

16) "7"

redis 127.0.0.1:6379> zrem zset1 xue lian bo

(integer) 3

redis 127.0.0.1:6379>

刪除指定範圍內的元素:zremrangebyrank

redis 127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "is"

2) "3"

3) "a"

4) "4"

5) "good"

6) "5"

7) "man"

8) "6"

9) "."

10) "7"

redis 127.0.0.1:6379> zremrangebyrank zset1 0 1

(integer) 2

redis 127.0.0.1:6379> zrange zset1 0 -1 withscores

1) "good"

2) "5"

3) "man"

4) "6"

5) "."

6) "7"

redis 127.0.0.1:6379>

刪除指定的序號範圍內的元素:zremrangebyscore

redis 127.0.0.1:6379> zrange zset1 0 -1  withscores

1) "xue"

2) "0"

3) "lian"

4) "1"

5) "bo"

6) "2"

7) "is"

8) "3"

9) "a"

10) "4"

11) "good"

12) "5"

13) "man"

14) "6"

15) "."

16) "7"

redis 127.0.0.1:6379> zremrangebyscore zset1 5 6

(integer) 2

redis 127.0.0.1:6379> zrange zset1 0 -1  withscores

1) "xue"

2) "0"

3) "lian"

4) "1"

5) "bo"

6) "2"

7) "is"

8) "3"

9) "a"

10) "4"

11) "."

12) "7"

redis 127.0.0.1:6379>

顯示元素的序號:zscore

redis 127.0.0.1:6379> zscore zset1 xue

"0"redis 127.0.0.1:6379> zscore zset1 lian

"1"redis 127.0.0.1:6379>

並集並儲存到第三個集合中:zunionstore

redis 127.0.0.1:6379> zrange zset1 0 -1

1) "a"

2) "b"

3) "c"

redis 127.0.0.1:6379> zrange zset2 0 -1

1) "d"

2) "e"

3) "f"

redis 127.0.0.1:6379>zunionstore zset3 2 zset1 zset2

(integer) 6

redis 127.0.0.1:6379> zrange zset3 0 -1 withscores

1) "a"

2) "0"

3) "b"

4) "2"

5) "d"

6) "3"

7) "c"

8) "4"

9) "e"

10) "4"

11) "f"

12) "5"

redis 127.0.0.1:6379>

交集並存入到四三個集合中

redis 127.0.0.1:6379> zrange zset2 0 -1

1) "d"

2) "e"

3) "f"

redis 127.0.0.1:6379> zrange zset3 0 -1

1) "a"

2) "b"

3) "d"

4) "c"

5) "e"

6) "f"

redis 127.0.0.1:6379>zinterstore zset4 2 zset2 zset3(integer) 3

redis 127.0.0.1:6379> zrange zset4 0 -1

1) "d"

2) "e"

3) "f"

redis 127.0.0.1:6379>

redis漸入佳境 05 zset型別

zset就是有序集合,除了集合的特性外還對每乙個集合元素新增了乙個順序的屬性,zadd方法使用具體如下 zadd 集合名 序號 集合元素 zrage方法的使用具體如下 zrange 集合名 開始位置 結束位置 withscores withscores 是指的是否顯示序號 redis 127.0.0...

2020 7 30 漸入佳境

學到的題目 賽後總結反思 集訓第4天,中午12 00開始組隊賽。開始的時候不知道先做哪個題,看了看排名,有人交了c題 只不過錯了 我們就開始研究c題,乍一看是乙個字串的題,其實是乙個動腦子的 思維 題,轉戰a題,a題比較簡單,老孔有思路直接碼出,我們看著也沒什麼問題就讓他交了一下 翻車了,仔細檢查一...

讓你的iOS學習漸入佳境

ios 應用開發入門 容易上手卻不簡單的課程,圍繞著swift語法介紹了物件導向程式設計,通過這門課能夠掌握swift語言和找到物件,是 ios 開發者 課程的最佳入門。ios 開發者 真正意義的ios開發之旅 學習一門語言,不做專案學起來極慢無比 甚至可以說根本學不會 但是光做專案不看語言文件就只...