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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Redis 集合处理

發布時間:2023/12/9 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis 集合处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

學習了列表之后,發現了Redis處理字符串的功能強大。

為了適應不同場景的需求,還有一個用的很多的就是集合。

Redis提供的集合支持的類型是字符串。并且集合中的元素值是唯一的,也就是說不能出現重復數據。

而且,集合的實現是通過哈希的方式,在修改集合的時候復雜度都為O(1)。

Redis支持集合的最大數量為2^32 - 1個。

?

1、SADD 命令


用于將一個或多個元素加入到指定的集合中,由于集合不存在重復元素,所以已經存在的成員會被忽略。

如果指定的集合不存在,則該命令會創建該集合,并且把元素加入進去。

如果指定的KEY不是一個集合,則返回一個錯誤說明。

127.0.0.1:6379> SADD KEY MEMBER [member ...]

例如,

127.0.0.1:6379> SET SET A OK 127.0.0.1:6379> SADD SET 1 2 3 4 5 (error) WRONGTYPE Operation against a key holding the wrong kind of value 127.0.0.1:6379> SADD SET1 1 2 3 4 5 (integer) 5 127.0.0.1:6379> SMEMBERS SET1 1) "1" 2) "2" 3) "3" 4) "4" 5) "5"

2、SCARD 命令


用于返回指定集合中元素的數量。

127.0.0.1:6379> SCARD KEY

例如,

127.0.0.1:6379> SCARD SET1 (integer) 5

3、SDIFF 命令


用于返回給定集合之間的差集。

一定是前面的集合減去后面的集合,剩余的元素。

127.0.0.1:6379> SDIFF KEY KEY [key ...]

例如,

127.0.0.1:6379> sadd SET 1 2 3 4 5 (integer) 5 127.0.0.1:6379> sadd SET1 1 2 3 (integer) 3 127.0.0.1:6379> sdiff SET1 SET (empty list or set) 127.0.0.1:6379> sdiff SET SET (empty list or set) 127.0.0.1:6379> sdiff SET SET1 1) "4" 2) "5" 127.0.0.1:6379> sadd SET2 1 2 3 4 5 6 (integer) 6 127.0.0.1:6379> sdiff SET SET1 SET2 (empty list or set) 127.0.0.1:6379> sdiff SET2 SET1 SET 1) "6"

4、SDIFFSTORE 命令


用于將給定集合之間的差集存儲在指定的集合中。

如果指定的DESTINATION集合已存在,則里面的元素會被覆蓋。

127.0.0.1:6379> SDIFFSTORE DESTINATION KEY KEY [key ...]

例如,

127.0.0.1:6379> SDIFFSTORE SET2 SET SET1 (integer) 2 127.0.0.1:6379> SMEMBERS SET2 1) "4" 2) "5" 127.0.0.1:6379> SMEMBERS SET1 1) "1" 2) "2" 3) "3" 127.0.0.1:6379> SMEMBERS SET 1) "1" 2) "2" 3) "3" 4) "4" 5) "5"

5、SINTER 命令


用于返回給定所有集合的交集。

不存在的集合被視為空集,當給定的集合當中有一個時空集時,結果也為空集。

127.0.0.1:6379> SINTER KEY KEY [key ...]

例如,

127.0.0.1:6379> SMEMBERS SET1 1) "1" 2) "2" 3) "3" 127.0.0.1:6379> SMEMBERS SET 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" 127.0.0.1:6379> SINTER SET SET1 1) "1" 2) "2" 3) "3"

6、SINTERSTORE 命令


用于將給定集合之間的交集存儲在指定的集合中。

如果指定的DESTINATION集合已存在,則里面的元素會被覆蓋。

127.0.0.1:6379> SINTERSTORE DESTINATION KEY KEY [key ...]

例如,

127.0.0.1:6379> SINTERSTORE SET2 SET SET1 (integer) 3 127.0.0.1:6379> SMEMBERS SET2 1) "1" 2) "2" 3) "3" 127.0.0.1:6379> SMEMBERS SET 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" 127.0.0.1:6379> SMEMBERS SET1 1) "1" 2) "2" 3) "3"

7、SISMEMBER 命令


用于判斷給定的元素是否為指定集合的成員。

如果給定的元素是集合成員,則返回1,如果不是,則返回0。

127.0.0.1:6379> SISMEMBER KEY MEMBER

例如,

127.0.0.1:6379> SMEMBERS SET 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" 127.0.0.1:6379> sismember SET 0 (integer) 0 127.0.0.1:6379> sismember SET 1 (integer) 1

8、SMEMBERS 命令


用于返回指定集合中所有的成員。不存在的集合被視為空集。

127.0.0.1:6379> SMEMBERS KEY

例如,

127.0.0.1:6379> SMEMBERS SET 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" 127.0.0.1:6379> SMEMBERS SE (empty list or set)

?

9、SMOVE 命令


用于將指定成員元素從SOURCE集合移動到DESTINATION集合中。

并且,SMOVE是原子性操作。

如果SOURCE集合不存在或者不包含指定的元素,則不執行任何操作,返回0。

如果DESTINATION集合中已經包含了指定元素,SMOVE操作將該元素從SOURCE集合中刪除。

如果SOURCE與DESTINATION不是集合類型是,則返回一個錯誤說明。

127.0.0.1:6379> SMOVE SOURCE DESTINATION MEMBER

例如,

127.0.0.1:6379> SMEMBERS SET 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" 127.0.0.1:6379> SMEMBERS SET1 1) "1" 2) "2" 3) "3" 127.0.0.1:6379> SMOVE SET SET1 4 (integer) 1 127.0.0.1:6379> SMOVE SET SET1 5 (integer) 1 127.0.0.1:6379> SMOVE SET SET1 6 (integer) 0

10、SPOP 命令


用于隨機獲取指定集合中的一個或幾個元素,并且該元素從集合中刪除。

獲取的個數由COUNT指定,當指定的個數超過集合的元素個數時,僅返回剩余元素。

當集合為空時,返回空集。COUNT只能為正數,如果是負數,則返回一個錯誤說明。

127.0.0.1:6379> SPOP KEY [count]

例如,

127.0.0.1:6379> SPOP SET 1 1) "1" 127.0.0.1:6379> SPOP SET 3 1) "2" 2) "3" 127.0.0.1:6379> SPOP SET 3 (empty list or set)
127.0.0.1:6379> SPOP SET -1
(error) ERR index out of range

11、SRANDMEMBER 命令


用于隨機獲取指定集合中的一個或幾個元素但不刪除,并且獲取的個數由COUNT指定。

如果COUNT是正數,且小于集合基數,則返回COUNT個元素的數組,其中元素內容不重復。

如果COUNT是正數,且大于集合基數,則返回整個集合。

如果COUNT是負數,則返回COUNT個元素的數組,數組中的元素可以重復。

當集合為空時,返回空集。

127.0.0.1:6379> SRANDMEMBER SET [count]

例如,

127.0.0.1:6379> SRANDMEMBER SET 4 1) "9" 2) "8" 3) "5" 4) "6" 127.0.0.1:6379> SRANDMEMBER SET 4 1) "9" 2) "2" 3) "8" 4) "6" 127.0.0.1:6379> SRANDMEMBER SET -2 1) "8" 2) "2" 127.0.0.1:6379> SRANDMEMBER SET -2 1) "2" 2) "5" 127.0.0.1:6379> SRANDMEMBER SET -8 1) "10" 2) "3" 3) "3" 4) "10" 5) "1" 6) "6" 7) "8" 8) "10"

12、SREM 命令


用于刪除給定集合中的一個或幾個元素,不存在的元素將被忽略。

當KEY不是一個集合時,則返回一個錯誤說明。

127.0.0.1:6379> SREM KEY MEMBER [member ...]

例如,

127.0.0.1:6379> SMEMBERS SET1) "1"2) "2"3) "3"4) "4"5) "5"6) "6"7) "7"8) "8"9) "9" 10) "10" 127.0.0.1:6379> SREM SET 1 3 5 7 9 11 (integer) 5 127.0.0.1:6379> SMEMBERS SET 1) "2" 2) "4" 3) "6" 4) "8" 5) "10"

13、SUNION 命令


用于返回給定集合的并集。不存在的集合被視為空集。

127.0.0.1:6379> SUNION KEY KEY [key ...]

例如,

127.0.0.1:6379> SUNION SET SET1 SET2 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" 6) "6" 7) "8" 8) "10" 127.0.0.1:6379> SMEMBERS SET 1) "2" 2) "4" 3) "6" 4) "8" 5) "10" 127.0.0.1:6379> SMEMBERS SET1 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" 127.0.0.1:6379> SMEMBERS SET2 1) "1" 2) "2" 3) "3"

14、SUNIONSTORE 命令


用于將給定的集合的并集存儲在指定的集合DESTINATION中。

如果指定的DESTINATION集合已存在,則里面的元素會被覆蓋。

127.0.0.1:6379> SUNIONSTORE DESTINATION KEY KEY [key ...]

例如,

127.0.0.1:6379> SMEMBERS SET2 1) "1" 2) "2" 3) "3" 127.0.0.1:6379> SUNIONSTORE SET2 SET SET1 (integer) 8 127.0.0.1:6379> SMEMBERS SET2 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" 6) "6" 7) "8" 8) "10" 127.0.0.1:6379>

15、SSCAN 命令


SCAN命令及其相關的SSCAN命令、HSCAN命令和ZSCAN命令都用于增量地迭代一集元素。

SSCAN命令用于迭代集合鍵中的元素。

與SCAN命令類型。

127.0.0.1:6379> sscan SET cursor [MATCH pattern] [COUNT count]

例如,

127.0.0.1:6379> SSCAN SET 0 MATCH * 1) "0" 2) 1) "2"2) "4"3) "6"4) "8"5) "10" 127.0.0.1:6379> SSCAN SET 0 1) "0" 2) 1) "2"2) "4"3) "6"4) "8"5) "10"

?

轉載于:https://www.cnblogs.com/randyma/p/6872486.html

總結

以上是生活随笔為你收集整理的Redis 集合处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。