linux_redis常用資料型別操作
阿新 • • 發佈:2020-08-13
1.string型別
set 設定key get 獲取key append 追加string mset 設定多個鍵值對 mget 獲取多個鍵值對 del 刪除key incr 遞增+1 decr 遞減-1 例如:set name zhangsan
127.0.0.1:6379> set name 'tt' #設定key OK 127.0.0.1:6379> get name #獲取value "tt" 127.0.0.1:6379> set name 'tiger' #覆蓋key OK 127.0.0.1:6379> get name #獲取value "tiger" 127.0.0.1:6379> append name ' dsb' #追加key的string (integer) 10 127.0.0.1:6379> get name #獲取value "tiger dsb" 127.0.0.1:6379> mset user1 'alex' user2 'xiaopeiqi' #設定多個鍵值對 OK 127.0.0.1:6379> get user1 #獲取value "alex" 127.0.0.1:6379> get user2 #獲取value "xiaopeiqi" 127.0.0.1:6379> keys * #找到所有key 1) "user2" 2) "name" 3) "user1" 127.0.0.1:6379> mget user1 user2 name #獲取多個value 1) "alex" 2) "xiaopeiqi" 3) "tiger dsb" 127.0.0.1:6379> del name #刪除key (integer) 1 127.0.0.1:6379> get name #獲取不存在的value,為nil (nil) 127.0.0.1:6379> set num 10 #string型別實際上不僅僅包括字串型別,還包括整型,浮點型。redis可對整個字串或字串一部分進行操作,而對於整型/浮點型可進行自增、自減操作。OK 127.0.0.1:6379> get num "10" 127.0.0.1:6379> incr num #給num string 加一 INCR 命令將字串值解析成整型,將其加一,最後將結果儲存為新的字串值,可以用作計數器 (integer) 11 127.0.0.1:6379> get num "11" 127.0.0.1:6379> decr num #遞減1 (integer) 10 127.0.0.1:6379> decr num #遞減1 (integer) 9 127.0.0.1:6379> get num "9"
2.list型別
lpush 從列表左邊插
rpush 從列表右邊插
lrange 獲取一定長度的元素 lrange key start stop
ltrim 擷取一定長度列表
lpop 刪除最左邊一個元素
rpop 刪除最右邊一個元素
lpushx/rpushx key存在則新增值,不存在不處理
lpush duilie 'alex' 'peiqi' 'ritian' #新建一個duilie,從左邊放入三個元素 llen duilie #檢視duilie長度 lrange duilie 0 -1 #檢視duilie所有元素 rpush duilie 'tiger' #從右邊插入tiger lpushx duilie2 'dsb' #key存在則新增 dsb元素,key不存在則不作處理 ltrim duilie 0 2 #擷取佇列的值,從索引0取到2,刪除其餘的元素 lpop #刪除左邊的第一個 rpop #刪除右邊的第一個
3.sets集合型別
redis的集合,是一種無序的集合,集合中的元素沒有先後順序。 集合相關的操作也很豐富,如新增新元素、刪除已有元素、取交集、取並集、取差集等。我們來看例子: sadd/srem 新增/刪除 元素 sismember 判斷是否為set的一個元素 smembers 返回集合所有的成員 sdiff 返回一個集合和其他集合的差異 sinter 返回幾個集合的交集 sunion 返回幾個集合的並集
sadd zoo wupeiqi yuanhao #新增集合,有三個元素,不加引號就當做字串處理 smembers zoo #檢視集合zoo成員 srem zoo wupeiqi #刪除zoo裡面的alex sismember zoo wupeiqi #返回改是否是zoo的成員資訊,不存在返回0,存在返回1 sadd zoo wupeiqi #再把wupeiqi加入zoo smembers zoo #檢視zoo成員 sadd zoo2 wupeiqi mjj #新增新集合zoo2 sdiff zoo zoo2 #找出集合zoo中有的,而zoo2中沒有的元素 sdiff zoo2 zoo #找出zoo2中有,而zoo沒有的元素 sinter zoo zoo1 #找出zoo和zoo1的交集,都有的元素 sunion zoo zoo1 #找出zoo和zoo1的並集,所有的不重複的元素
4.雜湊資料結構
鍵key:{
域field:值value
}
- 設定單個屬性 > hset key field value - 例1:設定鍵 `user`的屬性`name`為`xiaohong` > hset user name xiaohong - 設定多個屬性 > hmset key field1 value1 field2 value2 ... - 例2:設定鍵`u2`的屬性`name`為`xiaohong`、屬性`age`為`11` > hmset u2 name xiaohong age 11 - 獲取指定鍵所有的屬性 > hkeys key - 例3:獲取鍵u2的所有屬性 > hkeys u2 - 獲取⼀個屬性的值 > hget key field - 例4:獲取鍵`u2`屬性`name`的值 > hget u2 name - 獲取多個屬性的值 > hmget key field1 field2 ... - 例5:獲取鍵`u2`屬性`name`、`age`的值 > hmget u2 name age - 獲取所有屬性的值 > hvals key - 例6:獲取鍵`u2`所有屬性的值 > hvals u2 - 刪除屬性,屬性對應的值會被⼀起刪除 > hdel key field1 field2 ... - 例7:刪除鍵`u2`的屬性`age` > hdel u2 age