07_Redis_Sorted Set命令

一:Redis 有序集合(sorted set):有序set集合,專門用來作排行榜

  Redis 有序集合和集合同樣也是string類型元素的集合,且不容許重複的成員 ------- (有序不重複)html

  不一樣的是每一個元素都會關聯一個double類型的分數;Redis正是經過分數來爲集合中的成員進行從小到大的排序redis

  有序集合的成員是惟一的,但分數(score)卻能夠重複。spa

  集合是經過哈希表實現的,因此添加,刪除,查找的複雜度都是O(1)。 集合中最大的成員數爲 232 - 1 (4294967295, 每一個集合可存儲40多億個成員)。3d

二:Redis 有序集合命令:

  2.1:賦值:zadd key score member score2 member2 … :將全部成員以及該成員的分數存放到sorted-set中。若是該元素已經存在則會用新的分數替換原有的分數。返回值是新加入到集合中的元素個數,不包含以前已經存在的元素。htm

    

    2.2:查看:zscore key member:返回指定成員的分數blog

    

     zcard key :返回集合中的元素個數排序

    

  2.3:範圍查詢:索引

    zrange key start end [withscores]:獲取集合中腳標爲start-end的成員,[withscores]參數代表返回的成員包含其分數。(分數由小到大排列)遊戲

    

      zrevrange key start end [withscores]:獲取集合中腳標爲start-end的成員,[withscores]參數代表返回的成員包含其分數。(分數由大到小排列:排行榜)rem

    

    2.4:刪值:zrem key member[member…]:移除集合中指定的成員,能夠指定多個成員。

    

三:Redis 有序集合使用場景:

  1.能夠用於一個大型在線遊戲的積分排行榜。每當玩家的分數發生變化時,能夠執行ZADD命令更新玩家的分數,此後再經過ZRANGE命令獲取積分TOPTEN的用戶信息。固然咱們也能夠利用ZRANK命令經過username來獲取玩家的排行信息。最後咱們將組合使用ZRANGE和ZRANK命令快速的獲取和某個玩家積分相近的其餘用戶的信息。

  二、sortedet類型還可用於構建索引數據

 更多命令參考:http://www.runoob.com/redis/redis-sorted-sets.html

相關文章
相關標籤/搜索