Redis啓動後默認16個數據庫,相似數組下表從零開始,初始默認使用零號庫redis
切換數據庫命令 select 數據庫下標
數據庫
查看當前數據庫的key的數量 Dbsize
數組
清空當前庫 flushdb安全
清空全部庫 flushallapp
查看全部的鍵 keys *
大數據
判斷是否存在某個鍵 exists key
若是存在返回1,不然返回0
.net
從當前庫移動某個鍵到目標庫 move key db
3d
設置鍵的過時時間 expire key 秒鐘
對象
查看還有多少秒過時 ttl key (-1表示永不過時,-2表示已過時)
排序
查看key的類型 type key
String(字符串)
String是redis最基本的類型,一個key對應一個value。它是二進制安全的,也就是說它能夠包含任何數據,好比序列化的對象或圖片等。一個字符串value最大能夠是512m。
命令 | 說明 | 示例 |
---|---|---|
set key value | 設置指定key的值 | ![]() |
get key | 獲取指定key的值 | ![]() |
del key | 刪除一個key | ![]() |
append key value | 給一個key拼接一個字符串 | ![]() |
strlen key | 獲取鍵的值得長度 | ![]() |
incr/decr/incrby/decrby/ | 對鍵的值進行加減操做,鍵值必須是數字 | ![]() |
getrange | 獲取指定區間範圍內的值,從0到-1表明獲取所有 | ![]() |
setrange | 設置指定區間範圍內的值 | ![]() |
setex key 秒 值 | 設置帶過時時間的鍵 | ![]() |
setnx | 只有鍵不存在時才設置鍵的值 | ![]() |
mset | 同時設置一個或多個鍵值對 | ![]() |
mget | 同時獲取多個鍵的值 | ![]() |
msetnx | 同時設置一個或多個鍵值對,僅當全部給定的鍵都不存在時才能生效 | ![]() |
getset | 將給定 key 的值設爲 value ,並返回 key 的舊值 | ![]() |
List(列表)
列表是簡單的字符串列表,按照插入順序排序。能夠添加一個元素到列表的頭部或者尾部。其底層結構是一個鏈表。
命令 | 說明 | 示例 |
---|---|---|
lpush key value1 value2... | 將一個或多個值插入到列表頭部 | ![]() |
rpush key value1 value2... | 將一個或多個值插入到列表尾部 | ![]() |
lrange start end | 獲取指定範圍內的元素,start爲0,end爲-1時表示獲取所有 | ![]() |
lpop key | 從列表頭部移除一個元素並返回 | ![]() |
rpop key | 從列表尾部移除一個元素並返回 | ![]() |
lindex key index | 經過索引獲取列表中的元素 | ![]() |
llen key | 獲取列表的長度 | ![]() |
lrem key count value | 從左到右刪除count個值等於value的元素,返回的值爲實際刪除的數量,當count=0時,表示刪除所有值 | ![]() |
ltrim key start end | 截取指定索引區間的元素 | ![]() |
rpoplpush key1 key2 | 從key1列表尾部移除一個元素插入key2列表的頭部 | ![]() |
lset key index value | 修改某個下標對應的值 | ![]() |
linsert key before/after 值1 值2 | 在列表某個已有值的先後再添加具體值 | ![]() |
Hash(哈希)
哈希是一個鍵值對的集合,由一個string類型的key和value構成的映射表,它很適合用來存儲對象。
命令 | 說明 | 示例 |
---|---|---|
hset key field value | 將哈希表key中的字段field的值設置爲value | ![]() |
hget key field | 獲取哈希表中指定字段的值 | ![]() |
hmset key field1 value1 field2 value2 ... | 同時將多個key-value設置到哈希表中 | ![]() |
hmget key field1 field2 | 獲取全部給定字段的值 | ![]() |
hgetall key | 獲取哈希表中的因此字段和值 | ![]() |
hdel key1 key2 | 刪除一個或多個哈希表中的字段 | ![]() ![]() |
hlen key | 獲取哈希表中字段的數量 | ![]() |
hexists key field | 查看哈希表中指定的字段是否存在 | ![]() |
hkeys key | 查看哈希表中全部的鍵 | ![]() |
hvals key | 查看哈希表中全部的值 | ![]() |
hincrby key field incrment | 爲哈希表 key 中的域 field 的值加上增量 increment | ![]() |
hincrbyfloat | 爲哈希表中的字段值加上指定浮點數增量值 | ![]() |
hsetnx key field value | 當哈希表中指定的鍵不存在時賦值 | ![]() |
Set(集合)
集合是string類型的無序集合,底層由hashtable實現。
命令 | 說明 | 示例 |
---|---|---|
sadd key value1 value2 ... | 添加一個或多個成員到集合中 | ![]() |
smembers key | 返回集合中的全部成員 | ![]() |
sismember key value | 判斷元素是不是集合中的成員 | ![]() |
scard key | 獲取集合中的成員數 | ![]() |
srem key value1 value2... | 從集合中移除一個或多個成員 | ![]() |
srandmember key n | 返回集合中一個或多個隨機數 | ![]() |
spop key n | 移除並返回集合中的一個或多個元素 | ![]() |
smove source destination value | 從集合source將元素value移動到集合destination | ![]() |
sdiff key1 key2 | 求兩個集合的差集 | ![]() |
sinter key1 key2 | 求兩個集合的交集 | ![]() |
sunion key1 key2 | 求兩個集合的並集 | ![]() |
Zset(有序集合)
zset和set同樣也是集合,不一樣的是zset的每一個元素都會關聯一個double類型的分數。經過該分數,redis能夠對zset中的元素進行排序。zset的成員惟一,可是分數score能夠重複。
命令 | 說明 | 示例 |
---|---|---|
zadd key score1 value1 score2 value2 | 向有序集合添加一個或多個成員,或者更新已存在成員的分數 | ![]() |
zrange key start stop withscores(可選) | 經過索引區間返回指定區間內的成員 | ![]() |
zrangebysocre key score_start score_end withcores(可選) limit(可選) | 經過分數返回有序集合指定區間內的成員 | ![]() |
zrem key value1 value2 ... | 移除集合內一個或多個成員 | ![]() |
zcard key | 獲取有序集合的成員數 | ![]() |
zcount key score_start score_end | 計算在有序集合指定分數區間的成員數 | ![]() |
zrank key value | 返回有序集合中指定成員的索引 | ![]() |
zrevrank key value | 返回有序集合中指定成員的排名,有序集合成員按分數值遞減(從大到小)排序 | ![]() |
zrevrange key start stop withscores(可選) | 返回有序集合中指定區間內的成員,經過索引, 從高到低 | ![]() |
zrevrangebyscore key score_end score_start | 返回有序集合中指定分數區間內的成員,分數從高到低排序 | ![]() |