redis學習——基礎指令

其餘更多java基礎文章:
java基礎學習(目錄)java


學習資料:
redis指令目錄
redis學習筆記redis

通用命令

命令 描述 備註
keys [pattern] 遍歷全部符合的key keys命令通常不在生產環境使用
dbsize 計算key的總數
exists key 檢查key是否存在 存在返回1,不存在返回0
del key 刪除指定key-value
expire key seconds key在seconds秒後過時
ttl key 查看key剩餘的過時時間 -1表示key存在,而且沒有過時時間
persist key 去掉key的過時時間
type key 返回key的類型 string,hash,list,set,zset,none六種

字符串

命令 描述 備註
get key 獲取對應的value
set key value 設置key-value 無論key是否存在,都設置
setnx key value 設置key-value key不存在,才設置
set key value xx 設置key-value key存在,才設置
del key 刪除key-value
incr key自增1,若是key不存在,自增後get(key)=1
decr key key自減1,若是key不存在,自增後get(key)=-1
incrby key k key自增k,若是key不存在,自增後get(key)=k
decrby key k key自減k,若是key不存在,自增後get(key)=-k
mget key1 key2 key3... 批量獲取key,原子操做
mset key1 value1 key2 value2 ... 批量設置key-value
getset key newvalue set key newvalue並返回舊的value
append key value 將value追加到舊的value後
strlen key 返回字符串的長度 注意中文
incrbyfloat key 3.5 增長key對應的值3.5
getrange key start end 獲取字符串指定下標全部的值
setrange key index value 設置指定下標全部對應的值

Hash

命令 描述 備註
hget key field 獲取hash key對應的field的value
hset key field value 設置hash key對應的field的value
hdel key field 刪除hash key對應field的value
hexists key field 判斷hash key是否有field
hlen key 獲取hash key field的數量
hmget key field1 field2... 批量獲取hash key的一批field對應的值
hmset key field1 value1 field2 value2... 批量設置hash key的一批field value
hgetall key 返回hash key對應全部的field和value 當心使用,field多的時候執行速度會很慢
hvals key 返回hash key對應全部field的value
hkeys key 返回hash key對應全部的e
hsetnx key field value 設置hash key對應的field的value 若是field已經存在,則失敗
hincrby key field intCounter hash key對應的field的value自增intCounter
hincrbyfloat key field float 浮點數版

list

命令 描述 備註
rpush key value1 value2... 從列表右端插入值
lpush key value1 value2... 從列表左端插入值
linsert key before\after value newvalue 在list指定的value值前\後插入newvalue 若是多個相同value值,只會在第一個value處插入
lpop key 從列表左側彈出一個item
rpop key 從列表右側彈出一個item
lrem key count value 根據count值,從列表中刪除全部value相等的項 1. count>0,從左到右,刪除最多count個value相等的項。
2.count<0,從右到左,刪除最多count個value相等的項。
3.count=0,刪除全部value相等的項。
ltrim key start end 按照索引範圍修剪列表
lrange key start end 獲取列表指定索引範圍全部item 包含end,0\正數從左邊數,負數從右邊數
lindex key index 獲取列表指定索引的item
llen key 獲取列表長度
lset key index newvalue 設置列表指定索引值爲newvalue
blpop key timeout lpop阻塞版本,timeout是阻塞超時時間,timeout=0爲永遠不阻塞
brpop 同上

tips

  1. LPUSH + LPOP = Stack(棧)
  2. LPUSH +RPOP = Queue(隊列)
  3. LPUSH + LTRIM = Capped Collection(固定集合)
  4. LPUSH +BRPOP = Message Queue(消息隊列)

Set

命令 描述 備註
sadd key element 向集合key添加element 若是element已經存在,添加失敗
srem key element 將集合key中的element移除掉
scard key 計算集合大小
sismember key element 判斷element是否在集合key中
srandmember key count 從集合key中隨機挑count個元素
spop key 從集合key中隨機彈出一個元素
smembers key 獲取集合key中全部元素 當心使用
sdiff key1 key2 差集
sinter key1 key2 交集
sunion key1 key2 並集
sdiff\sinter\sunion + store destkey 將差集\交集\並集的結果保存在destkey中

ZSet(有序集合)

結構

命令

命令 描述 備註
zadd key score element(能夠是多對) 添加score和element score能夠重複,element不可重複
zrem key element 刪除元素
zscore key element 返回元素的分數
zincrby key increScore element 增長或減小元素的分數
zcard key 返回元素的總個數
zrange key start end [WITHSCORES] 返回指定索引範圍內的升序元素 WITHSCORES是否要返回分數
zrangebyscore key minScore maxScore [WITHSCORES] 返回指定分數範圍內的升序元素
zcount key minScore maxScore 返回有序集合內在指定分數範圍內的個數
zremrangebyrank key start end 刪除指定排名內的升序元素
zremrangebyscore key minScore maxScore 刪除指定分數內的升序元素
zrank key element 獲取某個元素在集合key中的排名(從小到大)
zrevrank key element 獲取某個元素在集合key中的排名(從大到小)
ZINTERSTORE destination numkeys [WEIGHTS weight weight...] [AGGREGATE SUM\ MIN\MAX] 對給定的有序集合執行相似於集合的交集運算 www.maiziedu.com/wiki/redis/…
相關文章
相關標籤/搜索