Redis學習記錄三:資料型別(常用:詳細解析)

一個慢慢往上爬的小白蝸牛.com發表於2020-12-09

redis資料型別

1:鍵(key)

key == 鍵 db == 庫id s == 秒 ms == 毫秒

命令解釋
keys *獲取所有的key
select db切換redis庫(預設16個,0是第一個)
exists key判斷某個key是否存在 (統一 1:在 0:不在)
move key db當前庫就沒有了,被移出了;目標庫有,則不能移動
expire key s多少秒過期
pexpire key ms多少毫秒過期
persist key刪除過期時間
ttl key檢視還有多少秒過期,-1表示永不過期,-2表示已過期
del key刪除key
flushall清除所有(所有庫)
flush db清除指定庫
type key檢視你的key是什麼型別

2:string:單值單value

index == 索引

命令解釋
set key value新增
get key查詢
append key value追加(key必須存在,沒有是時新建key)
strlen key長度
incr key遞增(必須是數字)
decr key遞減(必須是數字)
incrby key 10遞增(必須是數字,數字是幾相加)
decrby key 10遞減(必須是數字,數字是幾相減)
getrange key 0 -1獲取指定區間範圍內的值,類似between....and的關係。從0到-1表示全部
setrange key index value設定指定索引的值 ;value更換後的值
setex key time valuetime過期時間;value:修改value值
mset key1 key2批量設定
mget key1 key2批量獲取
msetnx批量新增;鍵存在時 操作失敗返回 0
getset key value先get,再set;;返回舊值,設定新值

3:list:單值多value

命令解釋
lpush key value1 value2 value3左插入(可重複)
rpush key value1 value2 value3右插入(可重複)
lrange key 0 -1資料集合
lpop key彈出元素(左彈出)
rpop key彈出元素(右彈出)
llen key長度
lrem key count valuecount :刪除條數;value:刪除那個值
lindex key index獲取指定索引的值
lren key刪N個value
ltrim key startindex stopindex開始index 結束index,擷取指定範圍的值後再賦值給key
rpoplpush key1 key2轉移列表的資料key1-->key2
lset key index value設定指定索引的值
linsert key before value1 value2在key中value1的前面新增value2
linsert key after value1 value2在key中value1的後面新增value2

4:set:單值多value(有序無重複)

命令解釋
sadd key value1 value2 value3新增(不能重複)
smembers key查詢
sismember key value查詢key中的value是否存在
scard key獲取集合裡面的元素個數
srem key value刪除集合中元素
srandmember key count(整數)隨機出 count 個數
spop key count隨機出棧
smove key1 key2 value把key1中的value移動到key2
sdiff sk1 sk2差集(sk1和sk2中沒有的)
sinter sk1 sk2交集
sunion sk1 sk2並集

5:hash:KV模式不變,但V是一個鍵值對(無重複)

命令解釋
hset key k v新增
hget key k查詢
hmset key k1 v1 k2 v2在key下多個鍵值新增
hgetall key查詢key下的所有鍵值,(注意:一個鍵一個值)
hdel key k1 k2刪除鍵下的k值
hlen keykey下k的條數
hexists key k在key中k值是否存在
hkeys key查詢key下的所有k
hvals key查詢key下的所有v
hincrby key k countkey的k 沒有時新增;k是數字時 做數字計算;
hincrbyfloat key k count小數(key、key的k 沒有時新增;k是數字時 做數字計算)
hsetnx新增(存在時不覆蓋

6:zset(sorted set)有序集合

和set的區別:在set基礎上加上一個score值,之前set是k1 v1 v2 v3,現在zset是k1 score v1 score v2

命令解釋
zadd key score value新增
zrange key 0 -1 WITHSCORES查詢(score正序排序)
zrangebyscore key -inf +inf顯示整個有序集
zrangebyscore key -inf +inf WITHSCORES顯示整個有序集及成員的 score 值
zrangebyscore key -inf 5000顯示 <=5000 的所有key
zrangebyscore key (5000 400000顯示大於 5000 小於等於 400000 的key
zrem key value1 value2移除元素
zcard keykey 存在且是有序集型別時,返回有序集的基數。
zcount key 2000 5000計算在 2000-5000 之間的key的數量
zrank key values作用是獲得value的下標值
zscore key value通過value獲取score ;返回string型別
zrevrank key value逆序獲得下標值(獲得相反的下標值)
zrevrange key 0 -1 WITHSCORES查詢(score倒序排序)
zrevrangebyscore key +inf -inf逆序排列value
zrevrangebyscore key 10000 2000逆序排列介於 10000 和 2000 之間的value

 

相關文章