Redis的五大數據類型及經常使用命令

1、與數據庫相關的命令

Redis啓動後默認16個數據庫,相似數組下表從零開始,初始默認使用零號庫redis

  1. 切換數據庫命令 select 數據庫下標
    數據庫

  2. 查看當前數據庫的key的數量 Dbsize
    數組

  3. 清空當前庫 flushdb安全

  4. 清空全部庫 flushallapp

2、與鍵相關的經常使用命令

  1. 查看全部的鍵 keys *
    大數據

  2. 判斷是否存在某個鍵 exists key
    若是存在返回1,不然返回0
    .net

  3. 從當前庫移動某個鍵到目標庫 move key db
    3d

  4. 設置鍵的過時時間 expire key 秒鐘
    對象

  5. 查看還有多少秒過時 ttl key (-1表示永不過時,-2表示已過時)
    排序

  6. 查看key的類型 type key

3、5大數據類型

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 返回有序集合中指定分數區間內的成員,分數從高到低排序
相關文章
相關標籤/搜索