Redis数据结构详解之Set(三)
序言
在Redis中,Set和list都是字符串序列,非常相似,不同之處在于Set是用哈希表來保持字符串的唯一性,沒有先后順序,不像list一樣,可以在首尾增刪數據。但是set也有自己的相應處理命令來完成對自己的操作。下面我們來看下Set的命令怎么使用。
操作單個set的命令
redis中set列表的新增命令Sadd,key值相同下的value值不能重復,返回插入的數據個數,key后面可跟多個value值
127.0.0.1:6379>sadd mySet 1 ? ---添加key為mySet的set數據值為1,
127.0.0.1:6379>sadd mySet 2 4 5 ?---添加key為mySet的set數據值為2,
redis中查看set數據集合的命令:smembers,可以獲取全部的元素,當set成員比較多時考慮其性能啊
127.0.0.1:6379>smembers ?mySet ? ? ---獲取key為mySet的說有set數據值集合
redis中set判斷某個key的value中是否存在某個值的命令:sismember ,如果存在返回1,不存在返回0
127.0.0.1:6379>sismember mySet 3 ?---返回值為0,因為myset的set成員中只有1,2沒有3
127.0.0.1:6379>sismember mySet 2 ? ---返回值為1,因為myset的Set成員中存在2.
redis中set的刪除數據命令srem,返回刪除個數,key后面可跟多個value值
127.0.0.1:6379>srem mySet 1 ? ---刪除key為mySet,value為1的數據項。
127.0.0.1:6379>srem mySet 2 4 ? ? ---刪除key為mySet,value為2和4的2個數據項。
redis中查看set數據個數的命令scard,如果不存在返回0
127.0.0.1:6379>sadd mySet 1 2 3 4 5
127.0.0.1:6379>scrad mySet ? ---查看mySet中存在多少個數據項,返回結果為5
redis中set隨機查看元素命令srandmember
127.0.0.1:6379>srandmember mySet ? ---輸出key為mySet的數據項中的隨機一個value,
redis中set隨機刪除一個元素的命令spop,并返回輸出刪除的數據
127.0.0.1:6379>spop mySet ? ?----隨機從key為mySet的數據集合中刪除一條數據,并返回輸出刪除的數據
127.0.0.1:6379>scard mySet ? ?---key為mySet的數據集合中的數據個數為4
操作多個set的命令
set除了對一個set中的元素進行增刪改查外,還可以對多個set進行操作,比如將一個set的元素移到另外一個set中,計算多個set的并集,交集,差集等操作。
redis中set將一個set中的元素移動到另外一個set中的命令smove
127.0.0.1:6379>sadd mySet 1 2 3 ? ?----向mySet中添加3條數據 1 2 3
27.0.0.1:6379>sadd youSet 3 4 5 ? ? ----向youSet中添加3條數據 3 4 5
127.0.0.1:6379>smove youSet mySet 4 ?---將youSet中的數據4移除的同時將數據4添加到mySet中
127.0.0.1:6379>smembers mySet ? ---結果為:1 2 3 4
127.0.0.1:6379>smembers youSet ? ---結果為 3 5
redis中set求交集命令sinter
127.0.0.1:6379>sinter mySet youSet ? ---輸出結果為mySet和youSet的交集,輸出結果為:3
redis中set求并集的命令sunion
127.0.0.1:6379>sunion mySet youSet ? ?---輸出結果為mySet與youSet的并集,輸出結果為:1 2 3 4 5?
redis中set求差集的命令sdiff
127.0.0.1:6379>sdiff mySet youSet ? ? ---輸出結果為mySet中youSet不存在的數據,輸出結果為:1 2 4
127.0.0.1:6379>sdiff youSet mySet ? ---輸出結果為youSet中mySet不存在的數據,輸出結果為:5
小結
如果你在看到本文后有什么疑問,請加入博客左上角群,一起交流學習。
我的redis系列博文:雙擊地址
轉載于:https://www.cnblogs.com/knowledgesea/p/4987246.html
總結
以上是生活随笔為你收集整理的Redis数据结构详解之Set(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 科学家用大脑控制平板电脑操作 真的可以!
- 下一篇: 谨慎用药!这些药千万不能混在一起吃