好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Redis有序集合類型的常用命令小結

Redis有序集合類型的常用命令小結

熱門標簽:玄武湖地圖標注 小紅書怎么地圖標注店 百度商家地圖標注怎么做 竹間科技AI電銷機器人 地圖標注費用 太原營銷外呼系統 西藏教育智能外呼系統價格 地圖標注如何即時生效 最簡單的百度地圖標注

一、有序集合類型

有序集合類型,大家從名字上應該就可以知道,實際上就是在集合類型上加了個有序而已。Redis中的有序集合類型,實際上是在集合類型上,為每個元素都關聯一個分數,有序實際上說的是分數有序,我們根據分數的范圍獲取集合及其他操作。集合的元素依然是不能夠相同的,但是分數可以相同。

下面列舉有序集合和類型和列表類型的相似處:

      ①兩者都是有序的(廢話!)

      ②兩者都可以獲得某一范圍的元素

下面列舉區別:

      ①列表是鏈表實現的,靠近兩邊的數據讀取極快,而元素過多后獲取中間元素的速度則會很慢;有序集合類型使用的散列表和跳躍表(Skip list)實現的,所以讀取哪部分的數據都差不多(時間復雜度是O(logN))。

      ②列表中不能簡單的調整元素的位置,但是有序集合可以(通過改變分數)。

      ③有序集合比列表費內存(要存儲分數、散列、跳躍表)。

二、Redis有序集合的常用命令

Redis有序集合的常用命令有:zadd,zrange,zremrangebyrank,zremrangebyscore,zcard等,這些都是使用頻率比較高的,還有一些參數的說明等。下面來看看一起看看吧。

1、ZADD命令

將一個或多個 member 元素及其 score 值加入到有序集 key 當中。

如果某個 member 已經是有序集的成員,那么更新這個 member score 值,并通過重新插入這個 member 元素,來保證該 member 在正確的位置上。

score 值可以是整數值或雙精度浮點數。

先用zadd命令批量添加一些元素到有序集合中,后面的操作都是基于這個集合進行。

127.0.0.1:6379> zadd myzadd 1 a 2 b 3 c 4 d 5 e 6 f 7 d 8 e 9 f 10 tanteng.me
(integer) 7

如圖所示:

有序集合最特別的地方在于score,有了分值可以做很多事情,這個score不僅可以理解為分值,有時也會存時間戳,或者ip的整形形式,可以靈活運用。

2、ZRANGE命令

語法:ZRANGE key start stop [WITHSCORES]

zrange命令用于返回有序集合中給定區間的元素。start從0開始,stop是結束下標,如果是負數表示從倒數開始,-1倒數第一個,-2倒數第二個……

看下面的操作一目了然。

127.0.0.1:6379> zrange myzadd 0 1
1) "a"
2) "b"
127.0.0.1:6379> zrange myzadd 0 5
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
6) "f"
127.0.0.1:6379> zrange myzadd 1 5
1) "b"
2) "c"
3) "d"
4) "e"
5) "f"
127.0.0.1:6379> zrange myzadd 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
6) "f"
7) "tanteng.me"

加上WITHSCORES參數顯示分值:

127.0.0.1:6379> zrange myzadd 0 -1 WITHSCORES
 1) "a"
 2) "1"
 3) "b"
 4) "2"
 5) "c"
 6) "3"
 7) "d"
 8) "7"
 9) "e"
10) "8"
11) "f"
12) "9"
13) "tanteng.me"
14) "10"

3、ZREMRANGEBYRANK命令

語法:ZREMRANGEBYRANK key start stop

移除有序集中指定排名(rank)區間內的所有成員。start從0開始,stop可以為負數,表示倒過來第幾位。

127.0.0.1:6379> zremrangebyrank myzadd 0 2
(integer) 3

執行這個命令就刪除了前三個元素a,b,c.

4、ZREMRANGEBYSCORE命令

語法:ZREMRANGEBYSCORE key min max

移除有序集 key 中,所有 score 值介于 min 和 max 之間(包括等于 min 或 max )的成員。

127.0.0.1:6379> zremrangebyscore myzadd 7 8
(integer) 2

這樣一來就把分值是7和8的元素d,e移除了.

ZREMRANGEBYRANKZREMRANGEBYSCORE從字面上很好理解,都是移除元素,一個根據下標,一個根據分值。

5、ZCARD命令

語法:ZCARD key

返回有序集合的基數。

127.0.0.1:6379> zcard myzadd
(integer) 2

經過前面的刪除元素操作,現在只剩2個元素了。

6、ZCOUNT命令

語法:ZCOUNT key min max

ZCOUNT命令和ZCARD命令的不同是,ZCOUNT支持根據范圍返回元素個數。

由于集合元素都差不多刪沒了,重新添加一組元素:

127.0.0.1:6379> zadd new 100 www.baidu.com 900 www.tanteng.me 12 www.yahoo.com 90 www.xunlei.com 88 www.juanpi.com
(integer) 5

如圖所示:

現在返回分值在80和100之間的成員數量。

127.0.0.1:6379> zcount new 80 100
(integer) 3

返回3個。

在Redis里面,還有個參數inf,-inf表示第一個成員,+inf表示最后一個。

127.0.0.1:6379> zcount new 80 +inf
(integer) 4

這里就返回4個數量,+inf這里表示沒有限制最高分值的意思。

總結

以上就是關于Redis有序集合類型常用命令的全部內容,文章總結的還是很詳細的,希望能對大家的學習或者工作帶來一些便捷,如果有大家有疑問也可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • Redis的5種數據類型與常用命令講解
  • Redis安裝配置與常用命令
  • Redis中散列類型的常用命令小結
  • Redis字符串類型的常用命令小結
  • redis常用命令整理

標簽:揚州 廣東 澳門 景德鎮 贛州 林芝 香港 唐山

巨人網絡通訊聲明:本文標題《Redis有序集合類型的常用命令小結》,本文關鍵詞  Redis,有序,集合,類型,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Redis有序集合類型的常用命令小結》相關的同類信息!
  • 本頁收集關于Redis有序集合類型的常用命令小結的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产熟女鲁鲁视频草莓AV| jiZZ成熟丰满韩国少妇在线观看| 女人被粗大的东西猛进猛出| 熟妇高潮一区二区在线播放| 男女交性配视频全免费| 国产成人无码免费看片色哟哟| 奴侍妾每日接受调教h| 免费观看三级毛片| 宝贝...趴在墙上张开腿h男男| 99在线无码精品秘?入口景甜| 啊不要啊| 74骑士影院| 黄色片视频软件| 国产在线拍偷自揄观看视频网站 | 1024手机在线观看视频| 亚洲欧洲国产精品一区| 吃奶喂奶合集| 扒开胸罩疯狂捏胸吃奶头视频大全| 又大又粗又长硬又紧又爽最新章节 | 狠狠乱| 午夜欧美精品久久久久久久| 免费国产成人高清在线直播| 91在线无码精品秘?在线-百度| 中国一级特黄大片学生| 中国中文字幕亚洲一区二区| 上原miku大肚子怀孕在线观看下载 | 717午夜伦电影理论片| 日本人妻av一区二区三区电影| 狠狠一区| yy4138殇情影院旧里番| 欺凌护士BD在线播放| 亚洲熟妇色自偷自拍另类| 欧美成人吃奶AV无遮掩| 2019中文字幕在线电影免费| 特级黄一级播放| 120秒午夜体验区5次? | 日韩午夜电影在线观看| 日本伦理黄色大片在线观看网站| 一级毛片免费视频,| 国产学生情侣久久AV一级A片| 一个人看的免费高清www在线观看 24小时日本在线观看手机免费 |