redis常用命令整理

2022-09-26 12:15:25 字數 3640 閱讀 3681

一、key 相關:

(1)redis允許模糊查詢 key(keys *)  有3個萬用字元 *、?、

(2)randomkey:返回隨機key  

(3)type key:返回key儲存的型別

(4)exists key:判斷某個key是否存在

(5)del key:刪除key

flushall: 刪除所有key(慎用)

二、資料操作:

redis支援五種資料型別:string(字串),has雜湊),list(列表),set(集合)及 zset(sorted set:有序集合)。

1、string(字串)

乙個key對應乙個value。乙個鍵最大能儲存512mb。string型別是二進位制安全的。

(1)set key value [ex 秒數] [px 毫秒數] [nx/xx]  

如果ex和px同時寫,則以後面的有效期為準

nx:如果key不存在則建立

xx:如果key存在則修改其值

(2)get key:取值

(3)mset key1 value1 key2 value2 一次設定多個值

(4)mget key1 key2 :一次獲取多個值

(5)setrange key offset value:把字串的offset偏移位元組改成value

如果偏移量 > 字串長度,該字元自動補0x00

(6)append key value :把value追加到key 的原值上

(7)getrange key start stop:獲取字串中[start, stop]範圍的值

對於字串的下標,左數從0開始,右數從-1開始

注意:當start>length,則返回空字串

當stop>=length,則擷取至字串尾

如果start所處位置在stop右邊,則返回空字串

(8)getset key nrevalue:獲取並返回舊值,在設定新值

2、hash(雜湊)

redis hash 是乙個 string 型別的 field 和 value 的對映表,hash 特別適合用於儲存物件。每個 hash 可以儲存 232 - 1 鍵值對(40多億)。

(1)hset myhash field value:設定myhash的field為value

(2)hsetnx myhash field value:不存在的情況下設定myhash的field為value

(3)hmset myhash fiescwiptdipwld1 value1 field2 value2:同時設定多個field

(4)hget myhash field:獲取指定的hash field

(5)hmget myhash field1 field2:一次獲取多個field

(6)hincrby myhash field 5:指定的hwww.cppcns.comash field加上給定的值

(7)hexists myhash field:測試指定的field是否存在

(8)hlen myhash:返回hash的field數量

(9)hdel myhash field:刪除指定的field

(10)hkeys myhash:返回hash所有的field

(11)hvals myhash:返回hash所有的value

(12)hgetall myhash:獲取某個hash中全部的field及value

3、list(列表)

redis 列表是簡單的字串列表,按照插入順序排序。你可以新增乙個元素到列表的頭部(左邊)或者尾部(右邊)。列表最多可儲存 232 - 1 元素 (4294967295, 每個列表可儲存40多億)。

(1)lpush key value:把值插入到鍊錶頭部

(2)rpush key value:把值插入到鍊錶尾部

(3)lpop key :返回並刪除鍊錶www.cppcns.com頭部元素

(4)rpop key: 返回並刪除鍊錶尾部元素

(5)lrange key start stop:返回鍊錶中[start, stop]中的元素

(6)lrem key count value:從鍊錶中刪除value值,刪除count的絕對值個value後結束

count > 0 從表頭刪除  

count < 0 從表尾刪除  

count=0 全部刪除

(7)ltrim key start stop:剪下key對應的鏈結,切[start, stop]一段並把改制重新賦給key

(8)lindex key index:返回index索引上的值

4、set(集合)

redis的set是string型別的無序集合。值不重複。

(1)sadd key value1 value2:往集合裡面新增元素

(2)smembers key:獲取集合所有的元素

(3)srem key value:刪除集合某個元素

(4)spop key:返回並刪除集合中1個隨機元素(可以坐**,不會重複抽到某人)   

(5)srandmember key:隨機取乙個元素

(6)sismember key value:判斷集合是否有某個值

(7)scard key:返回集合元素的個數

(8)smove source dest value:把source的value移動到dest集合中

(9)sinter key1 key2 key3:求key1 key2 key3的交集

(10)sunion key1 key2:求key1 key2 的並集

(11)sdiff key1 key2:求key1 key2的差集

(12)sinterstore res key1 key2:求key1 key2的交集並存在res裡

5、zset(sorted set:有序集合)

redis zset 和 set 一樣也是string型別元素的集合。且不允許重複的成員。不同的是每個元素都會關聯乙個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。zset的成員是唯一的,但分數(score)卻可以重複。

(1)zadd key score1 value1:新增元素

(2)zrange key start stop [withscore]:把集合排序後,返回名次[start,stop]的元素

預設是公升續排列 withscores 是把score也列印出來

(3)zrank key member:查詢member的排名(公升序0名開始)

(4)zrangebyscore key min max 程式設計客棧[withscores] limit offset n:集合(公升序)

排序後取score在[min, max]內的元素,並跳過offset個,取出n個

(5)zrevrank key member:查詢member排名(降序 0名開始)

(6)zremrangebyscore key min max:按照score來刪除元素,刪除score在[min, max]之間

(7)zrem key value1 value2:刪除集合中的元素

(8)zremrangebyrank key start end:按排名刪除元素,刪除名次在[start, end]之間的

(9)zcard key:返回集合元素的個數

(10)zcount key min max:返回[min, max]區間內元素數量

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