Redis基礎學習(3)
五大資料型別之三
Set(集合)
set中的值不能重讀
添加和判斷
127.0.0.1:6379> sadd set "hello" #set里添加
(integer) 1
127.0.0.1:6379> sadd set "111222"
(integer) 1
127.0.0.1:6379> sadd set "222333"
(integer) 1
127.0.0.1:6379> SMEMBERS set #查看
1) "222333"
2) "111222"
3) "hello"
127.0.0.1:6379> SISMEMBER set hello #判斷是否存在
(integer) 1
127.0.0.1:6379> SISMEMBER set re
(integer) 0
移除
127.0.0.1:6379> scard set #查看集合中的個數
(integer) 3
127.0.0.1:6379> srem set 111222 #移除集合中的指定元素
(integer) 1
127.0.0.1:6379> scard set
(integer) 2
127.0.0.1:6379> SMEMBERS set
1) "222333"
2) "hello"
隨機抽取資料
127.0.0.1:6379> SMEMBERS set
1) "222333"
2) "hello"
127.0.0.1:6379> SRANDMEMBER set #隨機抽取一個
"222333"
127.0.0.1:6379> SRANDMEMBER set
"222333"
127.0.0.1:6379> SRANDMEMBER set
"hello"
127.0.0.1:6379> SRANDMEMBER set 2 #隨機抽取指定個數的元素
1) "222333"
2) "hello"
隨機彈出資料
127.0.0.1:6379> SMEMBERS set
1) "333444"
2) "222333"
3) "hello"
127.0.0.1:6379> spop set #隨機洗掉set集合中的元素
"222333"
127.0.0.1:6379> SMEMBERS set
1) "333444"
2) "hello"
移動指定的元素到另一個集合中
127.0.0.1:6379> sadd set "hello"
(integer) 1
127.0.0.1:6379> sadd set "fdfdfd"
(integer) 1
127.0.0.1:6379> sadd set "fdjkfd"
(integer) 1
127.0.0.1:6379> sadd sad "ejrek"
(integer) 1
127.0.0.1:6379> smove set sad "hello"
(integer) 1
127.0.0.1:6379> SMEMBERS set
1) "fdjkfd"
2) "fdfdfd"
127.0.0.1:6379> SMEMBERS sad
1) "ejrek"
2) "hello"
差集,交集,并集
- 差集 sdiff
- 交集 sinter
- 并集 sunion
127.0.0.1:6379> sadd key 11
(integer) 1
127.0.0.1:6379> sadd key 22
(integer) 1
127.0.0.1:6379> sadd key 33
(integer) 1
127.0.0.1:6379> sadd key 44
(integer) 1
127.0.0.1:6379> sadd key1 55
(integer) 1
127.0.0.1:6379> sadd key1 66
(integer) 1
127.0.0.1:6379> sadd key1 77
(integer) 1
127.0.0.1:6379> sadd key1 11
(integer) 1
127.0.0.1:6379> sdiff key key1 #差集
1) "22"
2) "33"
3) "44"
127.0.0.1:6379> sinter key key1 #交集
1) "11"
127.0.0.1:6379> sunion key key1 #并集
1) "11"
2) "22"
3) "33"
4) "44"
5) "55"
6) "66"
7) "77"
Hash
創建和查看
Map集合,key-value,key-map map集合,和string型別沒有區別,
格式:set hash field “111”
127.0.0.1:6379> hset hash field cccc #設定一個值
(integer) 1
127.0.0.1:6379> hget hash field #獲取一個值
"cccc"
127.0.0.1:6379> hmset hash field hello field2 world #設定多個值
OK
127.0.0.1:6379> hmget hash field field2 #獲取多個值
1) "hello"
2) "world"
127.0.0.1:6379> hgetall hash #獲取全部的值
1) "field"
2) "hello"
3) "field2"
4) "world"
洗掉
127.0.0.1:6379> hdel hash field #洗掉hash指定的值
(integer) 1
127.0.0.1:6379> hgetall hash #對應的值也沒有了
1) "field2"
2) "world"
獲取
127.0.0.1:6379> HGETALL hash
1) "field2"
2) "world"
3) "field"
4) "hello"
127.0.0.1:6379> hlen hash #獲取hash里的字符數量
(integer) 2
127.0.0.1:6379> hkeys hash #只獲取field這個欄位的值
1) "field2"
2) "field"
127.0.0.1:6379> hvals hash #只獲取hash里的值
1) "world"
2) "hello"
判斷
127.0.0.1:6379> hexists hash field1
(integer) 0
127.0.0.1:6379> HEXISTS hash field #判斷指定的欄位是否存在
(integer) 1
127.0.0.1:6379> hset hash field3 555
(integer) 1
127.0.0.1:6379> hincrby hash field3 1 #增量
(integer) 556
127.0.0.1:6379> hincrby hash field3 -1 #減量
(integer) 555
127.0.0.1:6379> hsetnx hash field4 hello #如果不存在就設定
(integer) 1
127.0.0.1:6379> hsetnx hash field4 world #如果存在就不設定
(integer) 0
hash可以做用戶資訊之類的保存,或者經常變動的資訊就用hash做存盤,hash更適合物件存盤,string適合字串的存盤,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/248571.html
標籤:其他
下一篇:Nginx優化與防盜鏈
