Redis命令
通用命令
keys [pattern]
:遍歷所有key(生產環境禁用)dbsize
:計算key的總數exists key
:檢查key是否存在del key [key...]
:刪除指定key-valueexpire key seconds
:設置key的過期時間ttl key
:查看key剩餘的過期時間persist key
:去除key的過期時間type key
:返回key的類型
string - 字符串
基本操作
get key
:獲取key對應valueset key value
:不管key是否存在,都設置key-valuesetnx key value
:key不存在時,才設置key-valueset key value xx
:key存在時,才設置key-valuedel key
:刪除key-value
批量操作
mset key1 value1 key2 value2 ...
:批量設置key-valuemget key1 key2 ...
:批量獲取key,原子操作
計數操作
incr key
:key自增1,如果key不存在,自增後get(key)=1decr key
:key自減1,如果key不存在,自減後get(key)=-1incrby key k
:key自增k,如果key不存在,自增後get(key)=kdecrby key k
:key自減k,如果key不存在,自減後get(key)=-k
其他操作
getset key newvalue
:設置key新值並返回舊值append key value
:追加valuestrlen key
:返回字符串的長度getrange key start end
:獲取字符串指定下標所有的值setrange key index value
:設置字符串指定下標所有對應的值incrbyfloat key 3.5
:key自增對應的值3.5
hash - 哈希
基本操作
hget key field
:獲取hash key對應field的valuehset key field value
:設置hash key對應field的valuehdel key field
:刪除hash key對應field的valuehexists key field
:判斷hash key是否有fieldhlen 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和valuehvals key
:返回hash key對應所有的field的valuehkeys key
:返回hash key對應所有的field
list - 列表(有序、可重複)
基本操作
rpush list value1 value2 ...
:從列表右端插入值lpush list value1 value2 ...
:從列表左端插入值linsert list before|after value newValue
:在列表指定位置的前|後插入newValuelpop list
:從列表左側彈出一個itemrpop list
:從列表右側彈出一個itemlrem list count value
:根據count值,從列表中刪除所有與value像=相等的項
(1)count>0,從左到右,刪除最多count個與value相等的項;
(2)count<0,從右到左,刪除最多Math.abs(count)個與value相等的項;
(3)count=0,刪除所有與value相等的項ltrim list start end
:按照索引範圍裁剪列表lrange list start end
:獲取列表指定索引範圍所有item(包含end)lindex list index
:獲取列表指定索引的itemllen list
:獲取列表長度lset list index newValue
:設置列表指定索引的值爲newValue
阻塞操作
blpop list timeout
:lpop阻塞版本,timeout是阻塞超時時間,timeout=0爲永不阻塞brpop list timeout
:rpop阻塞版本,timeout是阻塞超時時間,timeout=0爲永不阻塞
set - 集合(無序、無重複)
基本操作
sadd set element
:向集合添加element(如果element已存在,則添加失敗)srem set element
:將集合中的element移除scard set
:計算集合大小sismember set element
:判斷element是否在集合中srandmember set count
:從集合中隨機挑count個元素spop set
:從集合中隨機彈出一個元素smembers set
:獲取集合所有元素
集合操作
sdiff set1 set2
:差集sinter set1 set2
:交集sunion set1 set2
:並集sdiffstore destkey set1 set2
:將set1和set2的差集結果保存在destkey中sinter destkey set1 set2
:將set1和set2的交集結果保存在destkey中sunion destkey set1 set2
:將set1和set2的並集結果保存在destkey中
zset - 有序集合
基本操作
zadd zset score element
:向集合添加score和elementzrem zset element
:將集合中的element移除zscore zset element
:返回element的分數zincrby zset increScore element
:增加或減少element的分數zcard zset
:計算集合大小zrank zset element
:返回element在集合中的排名
範圍操作
zrange zset start end [WITHSCORES]
:返回指定索引範圍內的升序元素[分值]zrangebyscore zset minScore maxScore [WITHSCORES]
:返回指定分數範圍內的升序元素[分值]zcount zset minScore maxScore
:返回有序集合內在指定分數範圍內的個數zremrangebyrank zset start end
:刪除指定排名內的升序元素zremrangebyscore zset minScore maxScore
:刪除指定分數內的升序元素
集合操作
zinter destkey zset1 zset2
:將zset1和zset2的交集結果保存在destkey中zunion destkey zset1 zset2
:將zset1和zset2的並集結果保存在destkey中