小螞蟻學習Redis筆記(7)——Redis數據類型之有序集合zset類型

有序集合 sorted sets類型

sorted sets是set的一個升級版本,它在set的基礎上增長了一個順序屬性,這一屬性在添加修改元素的時候能夠指定,每次指定後,zset會自動從新按照新的值調整順序。能夠理解爲有兩列mysql表,一列存放value,一列存放order。操做中key理解爲zset名字。有序集合的成員是惟一的,可是分數(score)倒是能夠重複的。mysql

  1. zadd 向名稱爲key的zset中添加元素。
    格式: zadd myzset1 1 name 1,表明其順序;name爲添加的元素
    含義: 向key爲myzset1中添加一個順序爲1的元素name。添加成功返回1。
    注意: 若是該元素已經存在,則更新其順序。
  2. zrange 取出key中指定範圍的元素
    格式: zrange myzset1 0 -1 withscores
    含義: 取出myzset1中,下標從0到-1的全部元素,而且附帶上順序號(score)。
    注意: 須要一塊兒返回順序號的時候,須要加上withscores,不加的話,只能返回元素。返回值是按照scores從小到大排序。
  3. zrem 刪除有序集合中的元素
    格式: zrem myzset1 name
    含義: 刪除keymyzset1中的元素name,刪除成功返回1,失敗返回0。
  4. zincrby 若是元素存在,遞增該元素的scores。
    格式: zincrby myzset1 3 age
    含義: 爲元素age的順序號(scores)遞增3。返回值是,修改事後的順序號。
    注意: 和以前的incrby同樣,正數是遞增,負數是遞減。另外,若是沒有這個元素,則增長該元素,順序號是它的指定值
  5. zrank 獲取有序列表中成員的排名(按照scores從小到大排序)的下標。
    格式: zrank myzset1 sex
    含義: 查看有序集合myzset1中sex元素的下標。
    注意: 返回的是下標下標!首先,把這個集合中的每一個元素按照順序(scores)的從小到大排序,再返回相應元素的下標
  6. zrevrank 一樣是獲取某元素的排名,可是,此次是按照scores的從大到小排名的。
    格式: zrevrank myzset1 age
    含義: 獲取有序列表中成員的排名(按照scores從大到小排序)的下標。
    注意: 返回的一樣是下標,可是此次scores是從大到小排序。rev:reverse 反轉,這樣就容易記憶了。
  7. zrevranges 從大到小排序,和zranges相對應
    格式: zrevrange myzset1 0 -1 withscores
    含義: 取出myzset1中,下標從0到-1的全部元素,而且附帶上順序號(score)。返回值是按照scores從大到小排序。
  8. zcount 返回集合中scores在給定區間的數量
    格式: zcount myzset1 2 3
    含義: 取出有序集合myzset1中,順序號(scores)從2到3的元素的數量。
    注意: 返回的是元素的個數。
  9. zcard 返回有序集合中全部元素的數量。
    格式: zcard myzset1
    含義: 查看集合中全部元素的數量。
  10. zremrangebyrank 刪除集合中排名在給定區間的元素(按照下標刪除)
    格式: zremrangebyrank myzset1 2 4
    含義: 刪除myzset1中,下標從3到4的元素。
    注意: 是按照下標刪除的。返回值是刪除的個數。
  11. zremrangebyscore 刪除集合中排名在給定區間的元素(按照順序號scores刪除)
    格式: zremrangebyscore myzset1 2 4
    含義: 刪除myzset1中,順序號(score)從3到4的元素。
    注意: 此次是按照順序號刪除的。返回值是刪除的個數。

學PHP的小螞蟻 原創博客 http://my.oschina.net/woshixiaomayi/blogsql

相關文章
相關標籤/搜索