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