Redis的基礎命令

你的镁偷走了我的锌發表於2024-10-26

一、資料庫操作命令

1.redis中庫的說明

redis中的庫預設存在16個庫,分別按照0-15來排列
選擇庫的命令:select 0-15
例如:select 1 就是選擇一號庫的意思

2.清空表的命令

1.清除當前表:flushdb
2.清除所有表:flushall

3.redis中客戶端顯示中文

./redis-cli -p 7000 --raw

二、操作key相關的命令

1.del指令

del key [key ...]
當只寫一個的時候表示刪除一個值返回0(false)或1(true),寫多個值返回刪除的個數

2.exists指令

exists key
判斷給定的key是否存在,多個key之間使用空格分隔開
返回值為 0(不存在)或1(存在),返回存在的key的個數

3.expire

expire key seconds(秒單位的時間)
對已經存在的值設定過期時間
設定成功返回值為1

4.keys

keys pattern
查詢符合給定模式的key
keys *表示查詢該表下所有的鍵
keys h?o表示查詢滿足前面是h後面是o的鍵

5.move

move key db
將給定的key移動到指定的庫下

6.pexpire

pexpire key milliseconds
與上面的expire用法一樣,不過上面是設定為秒,這裡是設定為毫秒

7.pexpireat

pexpireat key milliseconds-timestamp
這個命令和EXPIREAT 命令類似,但它以毫秒為單位設定key 的過期unix 時間戳,而不是像EXPIREAT那樣,以秒為單位

8.ttl和pttl

這兩個都是返回鍵的剩餘生命週期,ttl是返回秒級的,pttl是返回毫秒級的

9.randomkey

隨機返回一個表中存在的鍵,當資料庫為空的時候,返回nil

10.rename

rename key newkey
將已經存在的鍵改成新的名字,成功返回ok,失敗返回一個錯誤

11.type

type key
返回key所儲存的值的型別,不存在返回none

二、String型別

1.set,get

set是設定一個key/value,get是根據key獲取相應的值

2.mset和mget

mset是一次設定多個key value,mget是一次獲取多個相對應鍵的值

3.getset

獲取原始的值並將一個新值賦給他

4.strlen

獲取相對應的值儲存value的長度

5.append

為對應的key的value追加內容
如果成功返回的是是追加後的字串的長度

6.getrange

getrange key 0 -1 指的是將獲取當前key的所有字元
getrange key 0 2 指的是將獲取當前key從第一個到第下標為2的字元

7.setex和psetex

setex是設定一個key存活的有效週期(秒)
psetex是設定一個key存活的有效週期(毫秒)

8.setnx和msetnx

setnx存在不做任何操作,不存在新增

msetnx對多個key進行判斷,存在不做任何操作,不存在新增

9.decr和decrby

decr是進行數值型別的-1操作

decrby根據提供的資料進行減法操作

10.Incr,incrby和Incrbyfloat

Incr是進行數值型別的+1

incrby是根據指定的型別進行加運算

Incrbyfloat是根據提供的數加入浮點數

三、List型別

相當於java中的list集合一樣,特點是元素有序(插入和取出的順序一致)且可以重複,key是一個字串,值是一個list

1.lpush,lpushx和rpush,rpushx

lpush將某個值加入到一個key列表的頭部,如果不存在將會進行建立

lpushx同lpush,但是必須要保證這個key存在 必須在列表進行存在的情況下從左插入

rpush將某個值加入到一個key列表的尾部,如果不存在將會進行建立


rpushx同rpush,但是必須要保證這個key存在 必須在列表進行存在的情況下從右插入

2.lpop,rpop

lpop返回和移除列表左邊第一個元素

rpop返回和移除列表右邊第一個元素

3.lrange,llen

lrange獲取某一個下標區間內的元素 lrange list 0 -1(返回所有元素)

llen獲取列表元素個數

4.lset

設定某一個指定索引的值(索引必須存在)

5.lindex

獲取某一個指定索引位置的元素

6.lrem,ltrim,linsert

lrem刪除指定元素

ltrim保留列表中特定區間的元素

linsert在某一個元素之前或之後插入新元素

四、set型別

Set型別 Set集合 元素無序 不可以重複

1.sadd,smembers

sadd向set集合中新增元素

smembers顯示集合中的所有元素,無序

2.scard,spop

scard返回集合中的元素
spop隨機返回一個元素,並將元素在集合中刪除

3.smove,srem

smove從一個集合向另一個集合中移動,必須是同種型別
smove set1 redis set 指的是將set1中的redis值移動到set集合中

srem刪除集合中指定的元素

4.sismember,srandmember

sismember判斷這個集合是否有該元素

srandmember隨機返回元素,後面可以跟數字,表示需要返回的個數

5.sdiff,sinter,sunion

sdiff去掉第一個集合中其它集合含有的相同元素

sinter求交集
sunion求和集

五、ZSet型別

可排序的set集合 排序 不可重複

1.zadd,zcard

zadd向zset集合中新增元素
zcard返回集合中元素的個數

2.zrange,zrevrange,zrangebyscore

zrange(升序)返回一個範圍內的元素 如果想看看分數 withscores
zrevrange(降序)

zrangebyscore按照分數查詢一個範圍內的元素

3.zrank,zrevrank

zrank返回排名

zrevrank倒序排名

4.zscore,zrem,zincrby

zscore顯示一個元素的分數

zrem移除一個元素
zincrby給某個特定的元素加分

六、hash型別

value是一個map結構,存在key value key無序的

1.hset,hget,hgetall

hset設定一個或多個key/value對
hget獲得一個key所對應的value值
hgetall獲得所有的key/value對

2.hdel,hexists

hdel刪除某一個key/value對
hexists判斷一個key是否存在

3.hkeys,hvals

hkeys獲得所有的鍵
hvals獲取所有的值

4.hmset,hmget

hmset設定多個key/value
hmget獲得多個key/value

5.hsetnx,hincrby,hincrbyfloat

hsetnx設定一個不存在key的值,如果存在則不進行任何操作,不存在則進行新增
hincrby為value進行加法運算
hincrbyfloat為value加入浮點值

相關文章