日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Redis?中ZSET數據類型命令使用及對應場景總結(案例詳解)_Redis

作者:香吧香 ? 更新時間: 2023-02-07 編程語言

1.zadd添加元素

zadd key score member 

  示例:

127.0.0.1:6379> zadd user:visit:rank 60 1001
(integer) 1
127.0.0.1:6379>

2.zrem 從有序集合key中刪除元素

zrem key member

  示例:

127.0.0.1:6379> zrem user:visit:rank 1001
(integer) 1
127.0.0.1:6379>

3.zscore 返回有序集合key中元素member的分值

zscore key member

  示例

127.0.0.1:6379> zscore user:visit:rank 1001
(nil)
127.0.0.1:6379> zscore user:visit:rank 1002
"60"
127.0.0.1:6379> 

4.zincrby 為有序集合key中元素增加分值

zincrby key increment member

  為有序集合key中元素member的分值加上increment

  示例

127.0.0.1:6379> zscore user:visit:rank 1002
"60"
127.0.0.1:6379> zincrby user:visit:rank 20  1002
"80"
127.0.0.1:6379> 

  為 1002 用戶增加20分,增加20分之后返回新的分數

  應用場景:更新排名的依據,如:閱讀量排行榜,每閱讀一次,增加一次閱讀量

5.zcard獲取有序集合key中元素總個數

zcard key

  示例

127.0.0.1:6379> zcard user:visit:rank
(integer) 1
127.0.0.1:6379>

  應用場景:獲取排行集合的元素總個數

6.zrange 正序獲取分值范圍內的元素

zrange key start stop [withscores]

  正序獲取有序集合key從start下標到stop下標的元素;使用withscores 參數時,返回的集合元素帶有分數,不適用withscores的參數時,直接返回排名

  注意:參數start和stop都是基于零的索引,即0是第一個元素,1是第二個元素,以此類推。

  它們也可以是負數,表示從有序集合的末尾的偏移量,其中-1是有序集合的最后一個元素,-2是倒數第二個元素,等等。

  示例:

127.0.0.1:6379> zrange user:visit:rank 1 10 withscores
1) "1003"
2) "66"
3) "1002"
4) "80"
5) "1005"
6) "96"
127.0.0.1:6379> zrange user:visit:rank 0 10
1) "1004"
2) "1003"
3) "1002"
4) "1005" 
127.0.0.1:6379>

  應用場景:根據打分的升序排序獲取元素集合

7.zrevrange 倒序獲取集合元素

zrevrange key start stop [withscores]

  倒序獲取有序集合key從start下標到stop下標的元素

  注意:參數start和stop都是基于零的索引,即0是第一個元素,1是第二個元素,以此類推。

  它們也可以是負數,表示從有序集合的末尾的偏移量,其中-1是有序集合的最后一個元素,-2是倒數第二個元素,等等。

  示例:

127.0.0.1:6379> zrevrange user:visit:rank 1 10 
1) "1002"
2) "1003"
3) "1004"
127.0.0.1:6379> zrevrange user:visit:rank 1 10 withscores
1) "1002"
2) "80"
3) "1003"
4) "66"
5) "1004"
6) "16"
127.0.0.1:6379>

  應用場景:獲取榜單數據(根據打分從高到底)

8.zrank獲取有序集合中元素key的排名

zrank key member

  示例:

127.0.0.1:6379> zrank user:visit:rank 1002
(integer) 2
127.0.0.1:6379>

  應用場景:獲取自己的排名

9.zrangebyscore 獲取有序集合中分數區間的元素

zrangebyscore key min max [ withscores ] [limit offset count]

  根據分數區間獲取指定數量的集合,withscores 返回key時同時返回對應的分數;limit 為分頁標識;offset 為分頁的起始位;count 為分頁的數量

  示例:

127.0.0.1:6379> zrangebyscore user:visit:rank 60 90 
1) "1003"
2) "1002"
127.0.0.1:6379> zrangebyscore user:visit:rank 60 90 withscores
1) "1003"
2) "66"
3) "1002"
4) "80"
127.0.0.1:6379> zrangebyscore user:visit:rank 60 90 withscores limit 0 1
1) "1003"
2) "66"
127.0.0.1:6379> zrangebyscore user:visit:rank 60 90 withscores limit 1 1
1) "1002"
2) "80"
127.0.0.1:6379> zrangebyscore user:visit:rank 60 90 withscores limit 1 2
1) "1002"
2) "80"
127.0.0.1:6379> zrangebyscore user:visit:rank 60 90 withscores limit 0 2
1) "1003"
2) "66"
3) "1002"
4) "80"
127.0.0.1:6379> zrangebyscore user:visit:rank 60 90 withscores limit 2 1
(empty list or set)
127.0.0.1:6379>

  應用場景:分頁獲取排名元素集合

10.zcount 獲取分值區間的元素數量

zcount key min max

  示例:

127.0.0.1:6379> zcount user:visit:rank 60 90
(integer) 2
127.0.0.1:6379>

原文鏈接:https://www.cnblogs.com/zjdxr-up/p/17020259.html

欄目分類
最近更新