小貝_redis set/zset類型學習,_rediszset

來源:互聯網
上載者:User

小貝_redis set/zset類型學習,_rediszset

redis  set、zset類型

一、集合類型

二、查看set、zset集合類型命令

三、set、zset集合類型執行個體

 

 

一、集合類型

       1、redis的集合類型,分為兩種,即有序和無序。

       2、既然是集合類型,因此也要滿足集合的特性即

              a、集合的確定性: 組成集合的元素的性質必須明確,不允許有模稜兩可、含混不清的情況

              b、集合的互異性: 對於一個給定的集合,集合中的元素是互異的”,就是說,“對於一個給定的集合,它的任何兩個元素都是不同的

              c、集合的無序性: 指表示一個集合時,構成這個集合的元素是無序的

       3、集合分類(假設集合A和集合B都是非空)

              a、並集: 去掉集合A和集合B的公用部分的元素,組成新的集合

              b、交集: 擷取集合A和集合B的公告部分的元素,組成新的集合

              c、空集: 空元素的集合

 

二、查看set、zset集合類型命令

       1、set類型命令說明

命令名稱

格式

說明

sadd

sadd key member

將member元素加入到key當中

srem

srem key member

移除集合key中的元素member

smembers

smembers key

列舉集合key的所有元素

sismembers

sismembers key member

判斷member元素是否是集合key的元素

scard

scard key

擷取集合key的元素個數

smove

smove source destination member

將member元素從source集合移動到destination集合

spop

spop key

移除並返回集合中的一個隨機元素

srangmember

srangmember key

返回集合中的一個隨機元素

sinter

sinter key key1…

返回一個集合的全部成員,該集合是所有給定集合的交集。

不存在的key被視為空白集。

當給定集合當中有一個空集時,結果也為空白集(根據集合運算定律)。

sinterstore

sinterstore destination key key1…

此命令等同於sinter,但它將結果儲存到destination集合,而不是簡單地返回結果集。如果destination集合已經存在,則將其覆蓋

sunion

sunion key key1

返回一個集合的全部成員,該集合是所有給定集合的並集。

不存在的key被視為空白集

sunionstore

sunionstore destination key key1…

此命令等同於sunion,但它將結果儲存到destination集合,而不是簡單地返回結果集。如果destination已經存在,則將其覆蓋

sdiff

sdiff key key1

返回一個集合的全部成員,該集合是所有給定集合的差集 。不存在的key被視為空白集

sdiffstore

sdiffstore destination key key1…

此命令等同於sdiff,但它將結果儲存到destination集合,而不是簡單地返回結果集。如果destination集合已經存在,則將其覆蓋

 

       2、zset類型命令說明

命令名稱

格式

說明

zadd

zadd key score member

將member元素及其score值加入到有序集key當中。

score值可以是整數值或雙精確度浮點數。

zrem

zrem key member

移除有序集key中的成員member,如果member不是有序集中的成員,那麼不執行任何動作。當key存在但不是有序集類型時,返回一個錯誤

zcard

zcard key

返回有序集key的基數

zcount

zcount key min max

返回有序集key中,score值在min和max之間(預設包括score值等於min或max)的成員

zscore

zscore key member

返回有序集key中,成員member的score值

zincrby

zincrby key increment member

為有序集key的成員member的score值加上增量increment

zrange

zrange key start stop [WITHSCORES]

返回有序集key中,指定區間內的成員。其中成員的位置按score值遞增(從小到大)來排序

zrevrange

zrevrange key start stop [WITHSCORES]

返回有序集key中,指定區間內的成員。其中成員的位置按score值遞減(從大到小)來排列

zrangebyscore

zrangebyscore key min max [WITHSCORES] [LIMIT offset count]

返回有序集key中,所有score值介於min和max之間(包括等於min或max)的成員。有序整合員按score值遞增(從小到大)次序排列

zrevrangebyscore

zrevrangebyscore key max min [WITHSCORES] [LIMIT offset count]

返回有序集key中,score值介於max和min之間(預設包括等於max或min)的所有的成員。有序整合員按score值遞減(從大到小)的次序排列。

zrank

zrank key member

返回有序集key中成員member的排名。其中有序整合員按score值遞增(從小到大)順序排列。排名以0為底,也就是說,score值最小的成員排名為0。

zrevrank

zrevrank key member

返回有序集key中成員member的排名。其中有序整合員按score值遞減(從大到小)排序。排名以0為底,也就是說,score值最大的成員排名為0。

zremrangebyrank

zremrangebyrank key start stop

除有序集key中,指定排名(rank)區間內的所有成員。

區間分別以下標參數start和stop指出,包含start和stop在內

zremrangebyscore

zremrangebyscore key min max

移除有序集key中,所有score值介於min和max之間(包括等於min或max)的成員

zinterstore

zinterstore destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

計算給定的一個或多個有序集的交集,其中給定key的數量必須以numkeys參數指定

zunionstore

zunionstore destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

計算給定的一個或多個有序集的並集,其中給定key的數量必須以numkeys參數指定。預設情況下,結果集中某個成員的score值是所有給定集下該成員score值的和

 

3、set類型命令例子

3.1、為集合user,添加元素‘xiaobei’

127.0.0.1:6379> sadd user xiaobei

(integer) 1

3.2、查看集合user的所有元素

127.0.0.1:6379>smembers user

1)"xiaobei"

3.3、判斷xiaobei是否是集合user的元素

127.0.0.1:6379>sismember user xiaobei

(integer) 1

3.4、移除集合user的元素 xiaobei

127.0.0.1:6379> sremuser xiaobei

(integer) 1

3.5、判斷集合user的個數

127.0.0.1:6379> sadduser xiaobei

(integer) 1

127.0.0.1:6379> sadduser script-boy

(integer) 1

127.0.0.1:6379>scard user

(integer) 2

3.6、把集合user的元素script-boy移動到集合user1中

127.0.0.1:6379>smove user user1 script-boy

(integer) 1

127.0.0.1:6379>smembers user1

1)"script-boy"

3.7、求集合user和集合user1

127.0.0.1:6379>smembers user

1)"script-boy"

2) "xiaobei"

127.0.0.1:6379>smembers user1

1)"script-boy"

127.0.0.1:6379>sinter user user1

1)"script-boy"

3.8、把集合user和集合user1的交集儲存在user2中

127.0.0.1:6379>sinterstore user2 user1 user

(integer) 1

127.0.0.1:6379>smembers user2

1)"script-boy"

3.9、求集合user和集合user1的並集

127.0.0.1:6379>sunion user user1

1)"script-boy"

2) "xiaobei"

3.10、求集合user和集合user1的並集儲存在user2中

127.0.0.1:6379>sunionstore user2 user user1

(integer) 1

127.0.0.1:6379>smembers user2

1)"script-boy"

3.11、求集合user1對集合user的差集

127.0.0.1:6379>smembers user

1)"script-boy"

127.0.0.1:6379>smembers user1

1)"script-boy"

2) "xiaobei"

127.0.0.1:6379>sdiff user1 user

1) "xiaobei"

3.12、把集合user1對集合user的差集儲存在user2

127.0.0.1:6379>sdiffstore user2 user1 user

(integer) 1

127.0.0.1:6379>smembers user2

1) "xiaobei"

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.