redis常用命令 個人版本

2021-09-26 06:47:27 字數 3661 閱讀 8307

//以下是一些常用命令和個人看法,如有偏頗,請不吝賜教.

關於key值

del key

rename key newname

exists key

type key

keys name* //獲取符合條件的key

expire key s 設定過期時間,單位:秒

ttl key 檢視過期時間 (-1 永不過期)

persist key 持久化 (移除過期時間)

字串操作

set key val

get key

incr key

decr key

incrby key val

decrby key val

setnx key val 當可以不存在時賦值 (返回0賦值失敗,可以存在)

列表操作:

個人認為列表就是php的普通一緯索引陣列 [1,2,3,4],注意列表不支援查詢,一般用於佇列

lpush key value1 [value] 在陣列的左側插入資料,返回陣列長度

rpush key value1 [value] 在陣列的右側插入資料,返回陣列長度

lrange key start end 檢視陣列

lpop key

rpop key

llen key 獲取列表長度

lindex key index

lset key index val

linsert key before|after pivot value

//元素前或者後插入元素。當指定元素不存在於列表中時,不執行任何操作。當列表不存在時,被視為空列表,不執行任何操作。如果 key 不是列表型別,返回乙個錯誤。

lrem key count value

redis lrem 根據引數 count 的值,移除列表中與引數 value 相等的元素。

count 的值可以是以下幾種:

count > 0 : 從表頭開始向表尾搜尋,移除與 value 相等的元素,數量為 count 。

count < 0 : 從表尾開始向表頭搜尋,移除與 value 相等的元素,數量為 count 的絕對值。

count = 0 : 移除表中所有與 value 相等的值

雜湊操作:

雜湊中只能查鍵是否存在 不能查值是否存在(可以查鍵)

hmset/hset key field1 name1 field2 name2

hget key field1 //獲取鍵的值

hmget key field1 field2 //根據鍵名獲取多個鍵值

hgetall key

hexists key field //檢視鍵是否存在

hincrby key field vale

hincrbyfloat key field value

hsetnx key filed value //鍵不存在時賦值

hkeys key //獲取所有的鍵

hvals key //獲取所有的值

hlen key //獲取長度

集合成員唯一,相當於php索引陣列(拋棄了鍵值),個人還沒遇到使用場景,側重點應該在redis提供的運算上(交集,並集,差集)

sadd key member1 membere2 //

srem key member2 member2 //刪除集合中的元素

sismember key member //判斷集合中是否存在某個值

smembers key //返回集合中的所有成員

smove source destination member //把成員從source移動值destination

spop key //刪除並返回集合中的乙個隨機元素

srandmember key [count] //返回集合中的元素

scard key //成員總數 (陣列長度)

sdiff key1 [key2,key3] 取集合的差級

sdiffstore destination key1 [key2] 用destination存陣列的差集

sinter key1 [key2,key3] 取集合的交級

sinterstore destination key1 [key2] 用destination存陣列的交集

sunion key1 [key2,key3] 取集合的並級

sunionstore destination key1 [key2] 用destination存陣列的並集

有序集合

成員唯一,但是權重可以重複,一般用於做排行榜 需注意一點,有序集合有『鍵』(從0開始),權重(分數),成員(value).預設排序方式從小到大.公式內的start,stop,min,max如果是數字則是包含,如果是成員則支援[(數學寫法

zadd key score1 member1 score2 member2

//獲取數量

zcard key //返回集合成員數

zcount key score_min score_max //返回成績區[min,max]成員數 (不支援[,(寫法)

zlexcount key [member_min member_max //返回成員區間內的 成員數量

//返回分數或者排名

zscore key member //返回成員的分數

zrank key member //返回會員的索引,注意是索引!! 也就是排名-1 從小到大

zrevrank key member //返回從大到小的會員排名

zincrby key increment member //對某個會員加權

//返回成員列表

zrange key start stop [withscores] //通過索引返回成員列表,注意是索引! 加withscores返回值加上權重

zrevrange key start stop [withscores] //通過索引返回成員列表,注意是索引! 加withscores返回值加上權重(從大到小)

zrangbylex key [member_min [member_max [withscores] [limit 1,1] //返回成員區間內的所有成員

zrevrangebyscore key score_min score_max [withscores] // 返回權重區間[score_min,score_max]的會員

//移除會員

zrem key member [member2] //移除會員

zremrangebyscore key score_min score_max // 移除有序集合內權重在[score_min,score_max]的成員

zremrangebyrank key index_start index_stop //移除排名區間內[index_start,index_stop]的

zremrangebylex key min max //移除有序集合中給定的字典區間的所有成員 字典=會員

快取雪崩:是指在某乙個時間段,快取集中過期失效。

快取穿透:是指查詢乙個資料庫一定不存在的資料。

快取擊穿,是指乙個key非常熱點,在不停的扛著大併發,大併發集中對這乙個點進行訪問,當這個key在失效的瞬間,持續的大併發就穿破快取,直接請求資料庫,就像在乙個屏障上鑿開了乙個洞。

Redis常用命令

1 keys 返回滿足給定pattern的所有key。例如 keys 返回所有鍵 2 exists 確認乙個key是否存在。例如 exists age 3 del 刪除指定key。例如 del age 4 expire 設定乙個key的過期時間。例如 expire age 100 單位 秒 5 pe...

redis常用命令

redis cli p 6079 登陸redis,埠為6079 auth psssword 如果redis帶密碼,則執行上邊一行,password替換為你的密碼。src redis cli p 6380 keys wei xargs src redis cli p 6380 del 批量刪除埠為63...

Redis常用命令

啟動 redis 服務 src redis server或者src redis server redis.conf src redis server redis.conf 1 log.log 2 errlog.log 1為標準輸出,2為錯誤輸出 將 redis 作為 linux 服務隨機啟動 vi ...