redis操作命令集錦
redis中五種資料型別
- 1) 字串 String
特點: 儲存所有的字元和字串
應用場景: 做快取使用 - 2) 雜湊 hash
特點: 相當於java中hashMap集合
應用場景: 可以儲存javaBean物件, 此種使用場景不多,可被String替代 - 3) list 集合
特點: 相當於java中linkList, 是一個連結串列的結構
應用場景: 做任務佇列- 在java中客戶端提供了執行緒安全獲取集合資料的方式
- 4) set 集合
特點: 唯一, 無序
應用場景: 集合運算
例如去重複的操作 - 5) 有序set集合: sorted set
特點:唯一, 有序
應用場景: 一般用來做排行榜
redis中String型別相關命令
- 賦值: set key value
設定key持有指定的字串value,如果該key存在則進行覆蓋操作。總是返回”OK” - 取值: get key
獲取key的value。如果與該key關聯的value不是String型別,redis將返回錯誤資訊,因為get命令只能用於獲取String value;如果該key不存在,返回(nil) - 刪除: del key [key …]
刪除指定的key,返回“(integer) n”,n表示成功刪除的個數 - 數值增減:
增加值: incr key
將指定的key的value原子性的遞增1.如果該key不存在,其初始值為0。如果value的值不能轉成整型,如hello,該操作將執行失敗並返回相應的錯誤資訊。
減少值: decr key
將指定的key的value原子性的遞減1.如果該key不存在,其初始值為0。如果value的值不能轉成整型,如hello,該操作將執行失敗並返回相應的錯誤資訊- 增加指定的值: incrby key increment
將指定的key的value原子性增加increment,如果該key不存在,初始值為0。如果該值不能轉成整型,如hello,則失敗並返回錯誤資訊 - 減少指定的值: decrby key decrement
將指定的key的value原子性減少decrement,如果該key不存在,初始值為0。如果該值不能轉成整型,如hello,則失敗並返回錯誤資訊
- 增加指定的值: incrby key increment
- 拼接value值: append key value
拼接字串。如果該key存在,則在原有的value後追加該值;如果該key不存在,則重新建立一個key將值設為value,返回“(integer) n”,n表示拼接後字串長度
redis中hash型別的相關命令
- 賦值:
設定指定key的field的值:hset key field value,key為一個字串,value類似於map,同樣有一個field和value
設定指定key的多個field的值:hmset key field value [field value …] - 取值:
獲取指定key的field的值: hget key field
獲取指定key的多個field值: hmget key field [field …]
獲取指定key中的所有的field的值: hgetall key - 刪除:
hdel key field [field …] :可以刪除一個或多個欄位,返回“(integer) n”,n表示被成功刪除的欄位個數
del key :刪除整個內容 - 增加數字:
hincrby key field increment :為某個key的某個integer屬性增加值 - 判斷某個key中的filed是否存在: hexists key field
返回0表示沒有, 返回1表示有 - 獲取key中所包含的field的數量: hlen key
- 獲取所有的key: hkeys key
注意這裡指的獲取所有的map中的key - 獲取所有的value: hvals key
注意這裡指的獲取所有的map中的value
redis中list集合的相關命令
redis的中的list集合類似於java中的雙端佇列, 支援向兩端操作
- 新增:
從左側新增: lpush key value [value …]
在指定的key所關聯的list的頭部插入所有的values,如果該key不存在,該命令在插入的之前建立一個與該key關聯的空連結串列,之後再向該連結串列的頭部插入資料。插入成功,返回元素的個數。
從右側新增: rpush key value [value …]
在該list的尾部新增元素 - 檢視列表 : lrange key start end
獲取連結串列中從start到end的元素的值,start、end從0開始計數;也可為負數,若為-1則表示連結串列尾部的元素,-2則表示倒數第二個,以此類推 - 刪除(彈出):
從左側彈出:lpop key
返回並彈出指定的key關聯的連結串列中的第一個元素,即頭部元素。如果該key不存在,返回nil;若key存在,則返回連結串列的頭部元素
從右側彈出: rpop key
從尾部彈出元素 - 獲取列表中元素的個數: llen key
返回指定的key關聯的連結串列中的元素的數量 - 向指定的key插入資料, 僅在key存在時插入, 不存在則不執行
從左側:lpushx key value
從右側: rpushx key value - lrem key count value:
刪除count個值為value的元素,如果count大於0,從頭向尾遍歷並刪除count個值為value的元素,如果count小於0,則從尾向頭遍歷並刪除。如果count等於0,則刪除連結串列中所有等於value的元素 - lset key index value:
設定連結串列中的index的腳標的元素值,0代表連結串列的頭元素,-1代表連結串列的尾元素。index不存在則拋異常。 - linsert key before|after pivot value
在第一個pivot元素前或者後插入value這個元素。 - rpoplpush resource destination
將連結串列中的尾部元素彈出並新增到頭部。[迴圈操作]
redis中的set集合的相關命令操作
- 新增: sadd key member [member …]
向set中新增資料,如果該key的值已有則不會重複新增,返回“(integer) n”,n表示成功新增的member個數 - 刪除: srem key member [member …]
刪除set中指定的成員 - 獲取所有的元素: smembers key
獲取set中所有的成員(sdiff key) - 判斷元素是否存在: sismember key member
判斷引數中指定的成員是否在該set中,1表示存在,0表示不存在或者該key本身就不存在。(無論集合中有多少元素都可以極速的返回結果) - 集合的差集運算: sdiff key [key …]
返回key1與key2中相差的成員,而且與key的順序有關。即返回差集 - 集合的交集運算:sinter key [key …]
返回交集, 兩個key都有的 - 集合的並集運算:sunion key [key …]
返回並集 - 獲取set中成員的數量:
scard key - 隨機返回set中的成員:
srandmember key [count] ,count表示要返回的不重複key的個數 - 將key1、key2相差的成員儲存在destination上:
sdiffstore destination key [key …] - 將返回的交集儲存在destination上:
sinterstore destination key [key …] - 將返回的並集儲存在destination上:
sunionstore destination key [key …]
redis中的sortedset集合的相關操作:
- 新增資料: zadd key score member [score member …]
將所有成員以及該成員的分數存放到sorted-set中。如果該元素已經存在則會用新的分數替換原有的分數。返回值是新加入到集合中的元素個數,不包含之前已經存在的元素 - 獲得元素:
zscore key member: 返回指定元素的值
zcard key: 獲取集合中的成員數量 - 刪除元素:zrem key member [member …]
移除集合中指定的成員,可以指定多個成員。 - 範圍查詢:
zrange key start end [withscores]: 獲取集合中腳標為start-end的成員,[withscores]參數列明返回的成員包含其分數
zrevrange key start stop [withscores]: 按照元素分數從大到小的順序返回索引從start到stop之間的所有元素(包含兩端的元素) - zremrangebyrank key start stop: 按照排名範圍刪除元素
- zremrangebyscore key min max: 按照分數範圍刪除元素
- zrangebyscore key min max [withscores] [limit offset count]:
返回分數在[min,max]的成員並按照分數從低到高排序。[withscores]:顯示分數;[limit offset count]:offset,表明從腳標為offset的元素開始並返回count個成員a - zincrby key increment member:
設定指定成員的增加的分數。返回值是更改後的分數 - zcount key min max:
獲取分數在[min,max]之間的成員 - zrank key member:
返回成員在集合中的排名。(從小到大) - zrevrank key member
返回成員在集合中的排名。(從大到小)