redis操作命令記錄

2021-08-04 09:20:29 字數 3380 閱讀 4368

做個記錄,方便對redis命令的測試:

flushdb --清空資料庫

===對字串的操作

set --設定乙個字串鍵值對

mset  --設定多個字串鍵值對

setnx --key不存在時設定值value

setex --建立key時指定過期時間

set key value ex 10 --10秒後過去

expire key 5 --設定key的值5秒後過期 ,pexpire(毫秒)時間單位不一樣

expireat timestamp --到指定時間過期

pexpireat  --時間單位為毫秒

persist key --刪除過期時間

ttl : time to live

ttl key --剩餘多長存活時間

--返回-2,表示曾經活過,但是現在消亡了

--返回-1,表示key存在,但是沒有設定過期時間

--返回剩餘的秒或者毫秒

strlen --返回key對應value的長度

strrange key start end   --字串擷取

===set

無序、去重,元素為字串型別 最多包含2^32-1個元素

命令:增加乙個或者多個元素

sadd key member[member...] --如果元素已經存在,則自動忽略

li.sadd friends jack peter "mist li"

移除乙個或者多個元素,元素不存在,自動忽略

srem key member[member...]

返回集合包含的所有元素。如果集合元素過多,例如百萬個,可能會造成伺服器阻塞

smembers key

檢查給定元素是否存在於集合中

sismember key member 

隨機返回集合中指定個數的集合。

若count為正數,且小於集合基數,那麼命令返回乙個包含count個元素的陣列,陣列中的元素各不相同。如果count大於等於集合基數,那麼返回整個集合。

若count為負數,那麼命令返回乙個陣列,陣列中的元素可能會重複出現多次,而陣列的長度為count的絕對值。

如果count為0,返回空

如果count不指定,隨機返回乙個元素

srandmember key [count]

場景:**

返回集合中元素的個數

scard key  --鍵的結果會儲存資訊,集合長度就記錄在裡面,所以不需要遍歷

隨機從集合中移除並返回這個被移除的元素

spop key

把元素從源集合移動到目標集合

smove source destination member 

集合的操作:

差集,原來的集合並沒有改變:

sdiff key [key...]  --從第乙個key的集合中去除其他集合和自己的交集部分

sdiffstore destination key[key...] 將差集結果儲存在目標key中

li.sadd key1 123 456 789

sadd key2 123 456 999

sdiff key1 key2  --結果為789

sdiffstore key3 key1 key2 --將結果789儲存到名為key3的集合中

交集:sinter key [key...] --取所有集合交集部分

sinterstore destination key [key...] --將交集結果儲存到名為destination的集合中

li.sadd key1 123 456 789

sadd key2 123 456 999

sinter key1 key2 --結果集為123 456

sinterstore key3 key1 key2 --將交集結果123 456 儲存到名為key3的集合中

並集:sunion key[key...] --取所有集合的並集

sunionstore key3 key[key...] --將交集結果儲存到名為key3的集合中

場景:微博中的共同關注

取集合中的交集即可,可以設定為定期執行,然後從快取中取

===sortedset有序集合:有序 去重,元素為字串型別,最多包含2^32 - 1個元素。每乙個元素都關聯著乙個浮點數分值(score),並且按照從小到大的順序排列集合中的元素,分數可以相同。

命令:增加乙個或者多個元素,如果元素已經存在,就使用新的score

zadd key store member[score member]

刪除乙個或者多個元素,元素不存在,自動忽略

zrem key member[member...]

顯示分值

zscore key member

增加或者減少分值,score為負數就是減少

zincrby key score  member

返回元素的排名

zrank key member

逆序排名

zrevrank key member

返回某個區間的值,如果score相同,則按照字典序列排序,預設從小到大。start和stop可以為負值。

zrange key start stop [withscores]

zrevrange key start stop [withscores]

返回指定分值區間元素,-inf和+inf分別表示負無窮和正無窮

zrangebyscore key min max [withscores] [limit offset count]

li。zrangebyscore key -inf +inf

zrevrangebyscore key min max [withscores] [limit offset count]

移除指定排名範圍的元素

zremrangebyrank key start stop

li.zremrangebyrank key 0 2

zrange key 0 -1 --返回所有元素

移除指定分值範圍的元素

zremrangebyscore key min max

返回集合中元素的個數

zcard key 

返回指定範圍中元素的個數

zcount key min  max

li.zcount key 4 7

zcount key (4 7 --相當於》4

並集:zunionstore destination numkeys key[key...] [weights weight] [aggregate sum|min|max]

numkeys指定key的數量,必須

weights選項,與前面設定的key對應,對應key中每乙個score都要乘以這個權重

aggregate選項,指定並集結果的聚合方式

redis命令 redis命令操作

redis命令操作 1.字串型別 string 1.儲存 set key value 2.獲取 get key 3.刪除 del key 2.雜湊型別 hash 1.儲存 hset key field value 2.獲取 1.hget key field 獲取指定的field對應的值 2.hget...

C 記錄 Redis操作

檔名稱 摘要redis benchmark.exe 基準測試 redis check aof.exe aofredis cli.exe 客戶端redis server.exe 服務端redis.windows.conf 配置檔案 執行cmd命令,進入到redis的安裝資料夾。執行安裝命令 redis...

redis操作學習記錄

雖然有參考文件,而且記憶太多也是耗腦,但學習的時候還是想要有個系統劃分開知識點的文件,即使不要求去細緻記憶,但劃分開知識塊後腦子裡的印象才會更清晰,所以就有了這個博文。主要是將各種命令進行劃分成不同的功能歸屬 參考 w3school 首發時間 2018 03 10 15 36 string是字串的意...