做個記錄,方便對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是字串的意...