redis 敲敲打打 常用命令記錄

2021-10-08 17:00:31 字數 3702 閱讀 3906

1.hash

hget key field

獲取儲存在雜湊表中指定欄位的值。

hgetall key

獲取在雜湊表中指定 key 的所有欄位和值

hdel key field1 [field2]

刪除乙個或多個雜湊表字段

hkeys key

獲取所有雜湊表中的字段

hvals key

獲取雜湊表中所有值。

hset key field value

將雜湊表 key 中的字段 field 的值設為 value 。

hmset key field1 value1 [field2 value2 ]

同時將多個 field-value (域-值)對設定到雜湊表 key 中。

hget key field

獲取儲存在雜湊表中指定欄位的值。

hmget key field1 [field2]

獲取所有給定欄位的值

ps:hm相比h,可同時操作多個資料

hscan key cursor [match pattern] [count count]

迭代雜湊表中的鍵值對。

eg:hscan h1 0

2.list

lpush key value1 [value2]

將乙個或多個值插入到列表頭部

rpush key value1 [value2]

在列表中新增乙個或多個值 (列表尾)

linsert key before|after pivot value

在列表的元素前或者後插入元素

llen key

獲取列表長度

lindex key index

通過索引獲取列表中的元素

lrange key start stop

獲取列表指定範圍內的元素

lset key index value

通過索引設定列表元素的值

lpop key

移出並獲取列表的第乙個元素

rpop key

移除列表的最後乙個元素,返回值為移除的元素。

lrem key count value

移除列表元素

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

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

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

3.集合(set)

redis的set是string 型別的無序集合。集合成員是唯一的,不能出現重複的資料。

sadd key member1 [member2]

向集合新增乙個或多個成員

sinter key1 [key2]

返回給定所有集合的交集

sdiff key1 [key2]

返回給定所有集合的差集

smembers key

返回集合中的所有成員

sismember key member

判斷 member 元素是否是集合 key 的成員

sscan key cursor [match pattern] [count count]

迭代集合中的元素

eg: ssan s1 0

4.有序集合(sorted set)

每個元素都會關聯乙個double型別的分數。

redis正是通過分數來為集合中的成員進行從小到大的排序。

zadd key score1 member1 [score2 member2]

向有序集合新增乙個或多個成員,或者更新已存在成員的分數

zrange key start stop [withscores]

通過索引區間返回有序集合指定區間內的成員

zscan key cursor [match pattern] [count count]

迭代有序集合中的元素(包括元素成員和元素分值)

eg:zscan z1 0

zscore key member

返回有序集中,成員的分數值

zincrby key increment member

有序集合中對指定成員的分數加上增量 increment

ps:改變分數,用於/影響排序

zrangebylex key min max [limit offset count]

通過字典區間返回有序集合的成員

min 是 字典中排序位置較小的成員,必須以」[「開頭,或者以」(「開頭,可使用」-「代替

max 是 字典中排序位置較大的成員,必須以」[「開頭,或者以」(「開頭,可使用」+」代替

「min」 和 「max」 不能反, 「max」 放前面 「min」放後面會導致返回結果為空

limit 否 返回結果是否分頁,指令中包含limit後offset、count必須輸入

offset 否 返回結果起始位置

count 否 返回結果數量

eg: zrangebylex z1 - +

顯示所有

//這裡的-相當於負無窮大,+相當於正無窮大,這個命令相當於返回key為myzset的有序集合的所有元素。

eg: zrangebylex z1 - + limit 0 2

顯示前兩條

eg: zrangebylex z1 - + limit 2 5

顯示3,4,5條

eg:zrangebylex z1 [f [s

顯示f-s的

zremrangebyrank key start stop //下標

移除有序集合中給定的排名區間的所有成員

zremrangebyscore key min max //分數

移除有序集合中給定的分數區間的所有成員

zrevrange key start stop [withscores]

返回有序集中指定區間內的成員,通過索引,分數從高到低

zrevrangebyscore key max min [withscores]

返回有序集中指定分數區間內的成員,分數從高到低排序

zrevrank key member

返回有序集合中指定成員的排名,有序集成員按分數值遞減(從大到小)排序

排名以 0 為底,也就是說,分數值最大的成員排名為 0 。

5.事務(非原子性)

單個 redis 命令的執行是原子性的,但 redis 沒有在事務上增加任何維持原子性的機制,所以 redis 事務的執行並不是原子性的。

事務可以理解為乙個打包的批量執行指令碼,但批量指令並非原子化的操作,中間某條指令的失敗不會導致前面已做指令的回滾,也不會造成後續的指令不做。

multi

標記乙個事務塊的開始。

discard

取消事務,放棄執行事務塊內的所有命令。

exec

執行所有事務塊內的命令。

6.指令碼

eval script numkeys key [key ...] arg [arg ...]

eval "return " 2 key1 key2 first second

執行 lua 指令碼。

7.連線命令

ping

檢視服務是否執行

quit

關閉當前連線

8.伺服器

info

獲取 redis 伺服器的統計資訊

redis 常用命令記錄

學習redis強力推薦這個大神的部落格 啟動 redis server.exe conf redis.conf redis cli.exe 切換資料庫 select 0 select 1 select 2 檢視所有的key keys 檢視key的型別 type key 檢視key的型別 type n...

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...