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 value | time過期時間;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 value | count :刪除條數;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 key | key下k的條數 |
hexists key k | 在key中k值是否存在 |
hkeys key | 查詢key下的所有k |
hvals key | 查詢key下的所有v |
hincrby key k count | key的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 key | 當 key 存在且是有序集型別時,返回有序集的基數。 |
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 |