日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

redis 的使用 (sort set排序集合类型操作)

發(fā)布時間:2025/6/17 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis 的使用 (sort set排序集合类型操作) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

sort set排序集合類型

?? ?釋義:

?? ??? ?sort set 是 string 類型的集合

?? ??? ?sort set 的每個元素 都會關(guān)聯(lián)一個 權(quán)

?? ??? ?通過 權(quán)值 可以有序的獲取集合中的元素

?? ?應(yīng)用場合:

?? ??? ?獲取熱門帖子(回復(fù)量)信息:

?? ??? ?select * from message order by backnum desc limit 5;

?? ??? ?// 利用 sort set 實現(xiàn)最熱門的前 5 貼信息

?? ??? ?帖子id?? ??? ??? ?回復(fù)量(萬條)

?? ??? ?11?? ??? ??? ??? ?102
?? ??? ?12 ?? ??? ??? ??? ?141
?? ??? ?13 ?? ??? ??? ??? ?12
?? ??? ?14 ?? ??? ??? ??? ?651
?? ??? ?15 ?? ??? ??? ??? ?131
?? ??? ?16 ?? ??? ??? ??? ?256
?? ??? ?17 ?? ??? ??? ??? ?341
?? ??? ?18 ?? ??? ??? ??? ?79
?? ??? ?19 ?? ??? ??? ??? ?461
?? ??? ?20 ?? ??? ??? ??? ?101

?? ??? ?排序集合中額每個元素都是 值 權(quán) 的組合

?? ??? ?sort set 排序集合

?? ??? ?值|權(quán) ?? ?11|121 ?? ?22|484?? ?33|1089

?? ?sort set 類型操作

?? ??? ?注意:

?? ??? ?權(quán) score

?? ??? ?值 member

?? ??? ?zadd key score member

?? ??? ??? ?添加元素到集合 元素在集合中存在則更新對應(yīng) score

?? ??? ?zrem key member

?? ??? ??? ?刪除指定元素 1 表示成功 如果元素不存在 則返回 0

?? ??? ?zincrby key incr member

?? ??? ??? ?按照 incr 幅度增加對應(yīng) member 的 score 值, 返回 score 值

?? ??? ?zrank key member

?? ??? ??? ?返回指定元素在集合中的排名(下標(biāo)), 集合中元素是按 score 從小到大排序的

?? ??? ?zrevrank key member

?? ??? ??? ?返回指定元素在集合中的排名(下標(biāo)), 集合中元素是按 score 從大到小排序的

?? ??? ?zrange key start end

?? ??? ??? ?從集合中去掉指定區(qū)間的元素 返回 按 score 有序結(jié)果

?? ??? ?zrevrange key start end

?? ??? ??? ?從集合中去掉指定區(qū)間的元素 返回 按 score 逆序的

?? ??? ?zcard key

?? ??? ??? ?返回集合中元素個數(shù)

?? ??? ?zscore key element

?? ??? ??? ?返回 給定元素 對應(yīng)的 score

?? ??? ?zremrangebyrank key min max

?? ??? ??? ?刪除集合中排名在給定區(qū)間的元素 (權(quán)值有小到大排序)

?? ?eg:

?? ?sort set 排序集合 里面只有5個元素信息,

?? ?該5個元素是回復(fù)量最高每個帖子被回復(fù)的時候,

?? ?就有機會進(jìn)入該集合里面

?? ?但是 只有回復(fù)量最高的前5個帖子會存在于集合中

?? ?回復(fù)量低的時候就被刪除

?? ?// 創(chuàng)建一個 sort set 排序集合

?? ?// hostmessage 為 key, 內(nèi)部有5個元素

?? ?zadd hostmasssge 102 11 // (integer) 1
?? ?
?? ?zadd hostmasssge 122 12 // (integer) 1
?? ?
?? ?zadd hostmasssge 142 13 // (integer) 1
?? ?
?? ?zadd hostmasssge 162 14 // (integer) 1
?? ?
?? ?zadd hostmasssge 182 15 // (integer) 1

?? ?// 給集合每增加一個新元素 就把權(quán)值(回復(fù)值)最低的那個元素刪掉

?? ?// 每增加一個新元素 就刪除一個舊元素

?? ?/*************************************/

?? ?// 第六個元素生成

?? ?zadd hostmasssge 116 16 // (integer) 1

?? ?// 按 權(quán) -> score 逆序的排列

?? ?zrevrange hostmassage 0 100

?? ??? ?//返回結(jié)果如下 (展示數(shù)據(jù)為:值)

?? ??? ?// 1) "15"

?? ??? ?// 2) "14"

?? ??? ?// 3) "13"

?? ??? ?// 4) "12"

?? ??? ?// 5) "16"

?? ??? ?// 6) "11"

?? ?// 刪除 集合中排名在給定區(qū)間的元素 (權(quán)值有小到大排序)

?? ?// 刪除 權(quán) 較小的數(shù)據(jù) 剩余5條

?? ?zremrangebyrank hostmassage 0 0

?? ?zrevrange hostmassage 0 100

?? ??? ?//返回結(jié)果如下 (展示數(shù)據(jù)為:值)

?? ??? ?// 1) "15"

?? ??? ?// 2) "14"

?? ??? ?// 3) "13"

?? ??? ?// 4) "12"

?? ??? ?// 5) "16"

?? ?/*********************************/

?? ?// 返回指定元素在集合中的排名(下標(biāo)),

?? ?zrank hostmassage 15 // (integer) 4

?? ?zrank hostmassage 16 // (integer) 0

?? ?// 返回 集合中的元素的個數(shù)

?? ?zcard hostmessage

?? ??? ?// (integer) 5

?? ?// 根據(jù) 值 返回 權(quán)(回復(fù)量)

?? ?zscore hostmessage 15

?? ??? ?// 返回 "182"

?? ?// 給指定的元素值 增加一些權(quán)信息

?? ?zincarby hostmessage 200 14

?? ??? ?// 返回 "362"

?? ?zrevrange hostmessage 0 100

?? ??? ?// 返回結(jié)果如下 (展示數(shù)據(jù)為:值)

?? ??? ?// 1) "14"

?? ??? ?// 2) "15"

?? ??? ?// 3) "13"

?? ??? ?// 4) "12"

?? ??? ?// 5) "16"

轉(zhuǎn)載于:https://www.cnblogs.com/laowenBlog/p/5444690.html

總結(jié)

以上是生活随笔為你收集整理的redis 的使用 (sort set排序集合类型操作)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。