Redis常用命令

數(shù)據(jù)庫命令

查看鍵的類型
TYPE key 

注: 返回鍵的類型
HyperLogLog類型返回string,HyperLogLog底層實現(xiàn)是二進(jìn)制值,字符串類型可以儲存二進(jìn)制值,HyperLogLog直接只用字符串類型存儲

獲取鍵命令

1.隨機獲取某個鍵

RANDOMKEY 

注:在當(dāng)前數(shù)據(jù)庫中隨機返回一個鍵,返回的鍵不會被刪除

2.返回數(shù)據(jù)庫中與給定模式匹配的鍵
KEYS * 數(shù)據(jù)庫中所有鍵
KEYS h?llo 匹配hello hallo hillo等
KEYS h*llo 匹配hello hllo hiillo等
KEYS h[ae]llo 匹配hello hallo

3.漸進(jìn)遍歷整個數(shù)據(jù)庫與給定模式的鍵
注:SCAN 命令以漸進(jìn)的方式遍歷整個數(shù)據(jù)庫

SCAN cursor [MATCH pattern][COUNT number]

注: cursor 參數(shù)是遍歷使用的游標(biāo)第一次遍歷是零,每次遍歷會返回游標(biāo)下次遍歷使用
MATCH pattern 選項用戶指定匹配模式
COUNT number 選項用于指定一次遍歷返回都少鍵

刪除鍵
DEL key [key...]

刪除給定任意多個鍵,不存在的鍵會被忽略

檢查鍵是否存在
EXISTS key

注:檢查鍵是否存在,存在返回1,不存在返回0

修改鍵名
RENAME key newkey 

注:將key改為newkey 如果已存在覆蓋,返回ok

RENAMENX key newkey 

注:newkey不存在將key改為newkey 如果已存在不做操作

SORT命令
SORT key

注:將鍵包含的值解釋為浮點數(shù),然后對這些值進(jìn)行排序

SORT key ASC // 升序 默認(rèn)參數(shù)可省略
SORT key DESC // 降序 
SORT key ALPHA // ALPHA 參數(shù)基于字典序?qū)ξ淖诌M(jìn)行排序
獲取數(shù)據(jù)庫的大小
DBSIZE

注:查找當(dāng)前數(shù)據(jù)庫的key的數(shù)量

切換數(shù)據(jù)庫
SELECT num

注:redis默認(rèn)創(chuàng)建0-15號數(shù)據(jù)庫,默認(rèn)使用0號數(shù)據(jù)庫,可以使用命令切換數(shù)據(jù)庫

在數(shù)據(jù)庫鍵移動鍵
MOVE key target-db 

注:將key移動到目標(biāo)數(shù)據(jù)庫中

鍵設(shè)置過期時間
expire key second

注:為給定key設(shè)置過期時間,單位為秒

移除鍵的過期時間
persist key

注:移除key的過期時間,key將持久保存

查看鍵剩余生存時間
ttl key

注:以秒為單位,返回給定key的剩余生存時間(TTL , time to live)

String數(shù)據(jù)類型

  • 結(jié)構(gòu):Key-Value
  • Value:可以是字符串、數(shù)字,也可以是二進(jìn)制數(shù)組
  • 限制:Value最大值為512MB
1.get key

注:獲取指定key的值

2.set key value

注:設(shè)置指定key的值

3.incr key

注:將key中存儲的數(shù)字值增一

4.incrby key increment

注:將key所存儲的數(shù)字值加上給定的增量

5.decr key

注:將key中存儲的數(shù)字值減一

6.decrby key decrement

注:將key所存儲的數(shù)字值減去給定的減量

7.setnx key value

注:只有當(dāng)key不存在時才設(shè)置key的值

8.set key value nx

注:與⑦相同,只有當(dāng)key不存在時才設(shè)置key的值

9.setex key second value

注:設(shè)置指定key的值,同時設(shè)置該key的過期時間,單位為秒

10.set key second value ex

注:與⑨相同,設(shè)置指定key的值,同時設(shè)置該key的過期時間,單位為秒

11.set key value xx

注:只有key存在時才設(shè)置key的值

12.mget key1 [key2...]

注:獲取所有(一個或多個)指定key的值

13.mset key1 value1 [key2 value2...]

注:同時設(shè)置一個或多個key-value對

14.getset key value

注:將給定key的值設(shè)置為value,并返回key的舊值

15.append key value

注:將value追加到舊值的末尾

16.strlen key

注:返回key所存儲的字符串值的長度

  • 當(dāng)key不存在時,返回0
  • 一個中文占2個字節(jié)
  • 時間復(fù)雜度為O(1),strlen在redis內(nèi)部不需要查詢整個字符串來得到長度
17.incrbyfloat key increment

注:將key所存儲的值加上給定的浮點值

18.getrange key start end

注:返回key中字符串區(qū)間為[start,end]的子串,索引從0開始

19.setrange key offset value

注:用value擦?xí)采w指定key所存儲的字符串值,從偏移量offset開始,索引從0開始

  • key = content的時候,執(zhí)行setrange key 1 haha 之后,key=chahant

Hash數(shù)據(jù)類型

1.hget key field

注:獲取存儲在哈希表中指定field的值

2.hset key field value

注:將哈希表中指定field的值設(shè)置為value

3.hdel key field1 [field2...]

注:刪除哈希表中一個或多個field

4.hexists key field

注:判斷哈希表中,指定field是否存在

5.hlen key

注:獲取哈希表中字段的數(shù)量

6.hmget key field1 [field2...]

注:獲取哈希表中所有給定field的值

7.hmset key field1 value1 [field2 value2...]

注:同時將一個或多個field-value對設(shè)置到哈希表中

8.hincrby key fiel increment

注:為哈希表中指定field的值加上一個整型增量

9.hgetall key
  • 含義:獲取哈希表中所有字段和值
  • 時間復(fù)雜度為O(n),不建議使用
10.hkeys key

注:獲取哈希表中的所有字段

  • 時間復(fù)雜度為O(n),不建議使用
11.hvals key

注:獲取哈希表中的所有值

  • 時間復(fù)雜度為O(n),不建議使用
12.hsetnx key field value

注:只有當(dāng)哈希表中field不存在時,才設(shè)置該field的值

13.hincrbyfloat key field increment

注:為哈希表中指定field的值加上一個浮點數(shù)增量

List數(shù)據(jù)類型

  • 列表:有序、可以有重復(fù)元素
1.rpush key value1 [value2...]

注:在列表后側(cè)添加一個或多個值

2.lpush key value1 [value2...]

注:在列表左側(cè)添加一個或多個值

3.linsert key before/after value newValue

注:在列表指定的value前/后插入newValue,時間復(fù)雜度為O(n)

4.lpop key

注:從列表左側(cè)彈出一個值

5.rpop key

注:從列表右側(cè)彈出一個值

6.lrem key count value

注:根據(jù)count值,從列表中刪除值為value的項,時間復(fù)雜度為O(n)

  • count > 0 時,從左往右遍歷,刪除最多count個與value相等的值
  • count < 0 時,從右往左遍歷,刪除最多Math.abs(count)個與value相等的值
  • count = 0 時,刪除所有與value相等的值
7.ltrim key start end

注:對一個列表進(jìn)行修剪,只保留指定區(qū)間內(nèi)的元素,不在區(qū)間內(nèi)的元素都將被刪除,時間復(fù)雜度為O(n)

8.lrange key start end

注:獲取列表指定索引范圍的所有元素,時間復(fù)雜度為O(n)

9.lindex key index

注:獲取列表指定索引的元素,時間復(fù)雜度為O(n)

10.llen key

注:獲取列表長度,時間復(fù)雜度為O(1)

11.lset key index newValue

注:設(shè)置列表指定索引的值為newValue,時間復(fù)雜度為O(n)

  • 注意:
    • 必須存在這個值才能設(shè)置成功,否則會報錯
12.blpop key timeout

注:移除并獲取列表左邊第一個元素,如果列表沒有元素會阻塞直到等待超時或可彈出元素為止

  • timeout單位為秒,timeout=0時不阻塞
13.brpop key timeout

注:移除并獲取列表右邊第一個元素,如果列表沒有元素會阻塞直到等待超時或可彈出元素為止

  • timeout單位為秒,timeout=0時不阻塞

Set數(shù)據(jù)類型

  • 集合:無序、不能包含重復(fù)元素
1.sadd key memebr1 [member2...]

注:向集合中添加一個或多個成員

2.srem key member1 [member2...]

注:從集合中刪除一個或多個成員

3.scard key

注:獲取集合中的元素個數(shù)

4.sismember key member

注:判斷member元素是不是集合的成員

5.srandmember key count

注:隨機從集合中取出count個成員

6.spop key

注:隨機移除并返回集合中的一個成員

7.smembers key

注:獲取集合中的所有成員

  • 時間復(fù)雜度為O(n),不建議使用,類似的操作可以使用SSCAN
8.sdiff key1 [key2...]

注:返回給定所有集合的差集

9.sdiffstore destKey key1 [key2...]

注:計算給定所有集合的差集,并存入destKey

10.sinter key1 [key2...]

注:返回給定所有集合的交集

11.sinterstore destKey key1 [key2...]

注:計算給定所有集合的交集,并存入destKey

12.sunion key1 [key2...]

注:返回給定所有集合的并集

13.sunionstore destKey key1 [key2...]

注:計算給定所有集合的并集,并存入destKey

ZSet數(shù)據(jù)類型

  • 有序集合:有序、不能包含重復(fù)元素
  • 每個節(jié)點包含:score和value兩個屬性,根據(jù)score進(jìn)行排序
1.zadd key score1 member1 [score2 member2...]

注:向有序集合添加一個或多個成員,或者更新已存在成員的分?jǐn)?shù)

2.zrem key member1 [member2...]

注:從有序集合中刪除一個或多個成員

3.zscore key member

注:獲取有序集合中成員的分?jǐn)?shù)

4.zincrby key increment member

注:對有序集合中指定成員的分?jǐn)?shù)加上增量increment

5.zcard key

注:返回有序集合中元素的總個數(shù)

6.zrange key start end [withscores]

注:通過索引返回有序集合中指定區(qū)間的成員信息

  • withscores 參數(shù),加上代表一并將score數(shù)據(jù)返回
7.zrangebyscore key min max [withscores][limit]

注:通過score返回有序集合中指定分?jǐn)?shù)區(qū)間的成員信息

  • withscores 參數(shù),加上代表一并將score數(shù)據(jù)返回
  • limit參數(shù),加上代表限制返回多少條數(shù)據(jù)
8.zscore key min max

注:返回有序集合中指定分?jǐn)?shù)范圍內(nèi)的元素個數(shù)

9.zremrangebyscore key min max

注:刪除有序集合中指定分?jǐn)?shù)區(qū)間的所有成員

10.zremrangebyrank key start end

注:刪除有序集合中給定索引區(qū)間的所有成員

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容