CentOS 初体验二十五:redis常用命令:sorted set
轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/zhaoyanjun6/article/details/79289352
本文出自【趙彥軍的博客】
sorted set
redis 有序集合(sorted set),redis 有序集合和集合一樣也是string類型元素的集合,且不允許重復(fù)的成員。
不同的是每個(gè)元素都會關(guān)聯(lián)一個(gè)double類型的分?jǐn)?shù)。redis正是通過分?jǐn)?shù)來為集合中的成員進(jìn)行從小到大的排序。
有序集合的成員是唯一的,但分?jǐn)?shù)(score)卻可以重復(fù)。
使用場景:
- 微博熱點(diǎn)話題
- 游戲分?jǐn)?shù)、積分排名榜
添加元素
- zadd :添加元素到有序列表
格式:zadd 【scorekey】【score key】【score key】【..】
例子:添加3個(gè)元素到集合,a 70 分;b 80 分;c 90 分
zadd score1 70 a 80 b 90 c獲取元素
- zscore:獲取 key 的 score 值
格式:zscore【scorekey】【key】
例子:獲取 a 的 score 值
zscore score1 a- zrange : 獲取集合元素
格式:zrange 【scorekey】【start】【end】
start: 元素開始的索引,一般從 0 開始
end: 元素結(jié)束的索引,-1 代表倒數(shù)第一個(gè)元素,也就是最后一個(gè)元素。
例子:獲取 score1 集合所有的元素。
zrange score1 0 -1上面只是獲取元素的 key 值,如果要 key 和 score 一起獲取,需要加上 withscores 命令
//默認(rèn)從小到大排序 zrange score1 0 -1 withscores//從大到小排序 zrevrange score1 0 -1 withscores- zrangebyscore : 根據(jù)分?jǐn)?shù)范圍獲取集合元素
格式:zrangebyscore 【scorekey】【start】【end】
start: 開始分?jǐn)?shù)
end: 結(jié)束分?jǐn)?shù)
例子:獲取 score1 集合分?jǐn)?shù)在 10–30 之間的元素
zrangebyscore score1 10 30擴(kuò)展命令
//查找 score1 集合中分?jǐn)?shù)在 10--200 之間的元素,在這些元素中,只取索引為 1 的元素往后數(shù)兩個(gè) zrangebyscore score1 10 200 withscores limit 1 2格式:zrangebyscore key min max [withscore] [LIMIT offset count]
刪除元素
- del :獲取集合
格式:del 【scorekey】
- zrem :刪除元素
格式:zrem 【scorekey】【key key key …】
例子:刪除 a , b 的值
zrem score1 a b- zremrangebyrank :按照元素順序刪除元素
格式:zremrangebyrank 【scorekey】【start】【end】
start : 元素開始的索引
end: 元素結(jié)束的索引
例子:刪除 score1 集合前 3 個(gè)元素
zremrangebyrank score1 0 2- zremrangebyscore :按照分?jǐn)?shù)的范圍刪除元素
格式:zremrangebyscore 【scorekey】【start】【end】
start : 開始的分?jǐn)?shù)
end: 結(jié)束的分?jǐn)?shù)
例子:刪除 score1 集合中 分?jǐn)?shù)在 70--90 的元素
zremrangebyscore score1 70 90其他命令
- zcard :獲取集合長度
格式:zcard 【scorekey】
例子:獲取 score1 集合 的長度
zcard score1- zincrby :給元素增加值
格式:zincrby 【scorekey】【score】【key】
例子: 給 d 元素值增加 14
zincrby score1 14 d- zcount :計(jì)算指定分?jǐn)?shù)范圍內(nèi)元素的個(gè)數(shù)
格式:zcount 【scorekey】【startscore】【endscore】
startscore : 開始的分?jǐn)?shù)
endscore: 結(jié)束的分?jǐn)?shù)
例子: 計(jì)算分?jǐn)?shù)在 50 到 100 之間的元素的個(gè)數(shù)
zcount score1 50 100個(gè)人微信號:zhaoyanjun125 , 歡迎關(guān)注
總結(jié)
以上是生活随笔為你收集整理的CentOS 初体验二十五:redis常用命令:sorted set的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS 初体验二十四:redis常
- 下一篇: CentOS yum安装MySQL5.7