redis之路(三):redis 數據結構及常見命令

五種數據類型:

字符串(String)

哈希(hash)

字符串列表(list)

有序字符串集合(sorted set)

字符串集合(set)

1.字符串(String)

Key定義的注意點:

不要過長,

不要過短,

統一的命名規範

存儲String

二進制安全的,存入和獲取的數據相同

Value最多可以容納的數據長度是512M

存儲String常用命令

賦值

取值

刪除

數值增減

語法 解釋 例子
SET key 設置指定 key 的值 $1600
GET key 獲取指定 key 的值 $1600
GETSET key value 將給定 key 的值設爲 value ,並返回 key 的舊值(old value) $1600
DEL key1[ key2…] 刪除 $1600
INCR key 將 key 中儲存的數字值增一 $1600
INCRBY key increment 將 key 所儲存的值加上給定的增量值(increment) $1600
DECR key 將 key 中儲存的數字值減一 $1600
DECRBY key decrement key 所儲存的值減去給定的減量值(decrement) $1600
APPEND key value 如果 key 已經存在並且是一個字符串, APPEND 命令將指定的 value 追加到該 key 原來值(value)的末尾 $1600

2.哈希(hash)

存儲Hash

String key和String Value的Map容器

每一個Hash可以存儲4294967295個鍵值對

存儲Hash常用命令:

賦值

取值

刪除

增加數字

判斷字段是否存在

獲取hash屬性個數

獲取hash所有屬性名稱

語法 解釋 例子
HSET key field value 將哈希表 key 中的字段 field 的值設爲 value $1600
HMSET key field1 value1 [field2 value2 ] 同時將多個 field-value (域-值)對設置到哈希表 key 中 $1600
HGET key field 獲取存儲在哈希表中指定字段的值 $1600
HGETALL key 獲取在哈希表中指定 key 的所有字段和值 $1600
HLEN key 獲取哈希表中字段的數量 $1600
HKEYS key 獲取所有哈希表中的字段 $1600
HVALS key 獲取哈希表中所有值 $1600
HDEL key field1 [field2] 刪除一個或多個哈希表字段 $1600
HINCRBY key field increment 爲哈希表 key 中的指定字段的整數值加上增量 increment $1600
HEXISTS key field 查看哈希表 key 中,指定的字段是否存在 $1600

3.字符串列表(list)

存儲list:

ArrayList使用數組方式

LinkedList使用雙向鏈接方式

雙向鏈接表中增加數據

雙向鏈接表中刪除數據

存儲list常用命令

兩端添加

兩端彈出

擴展命令

語法 解釋 例子
LPUSH key value1 [value2] 將一個或多個值插入到列表頭部 $1600
LPUSHX key value 將一個值插入到已存在的列表頭部 $1600
RPUSH key value1 [value2] 在列表中添加一個或多個值到列表底部 $1600
RPUSHX key value 爲已存在的列表添加值 $1600
LRANGE key start stop 獲取列表指定範圍內的元素 $1600
LPOP key 移出並獲取列表的第一個元素 $1600
RPOP key 移除列表的最後一個元素,返回值爲移除的元素。 $1600
LLEN key [value2] 獲取列表長度 $1600
LREM key count value 移除列表元素 count爲正數從左移除,負數從右移除,0爲所有 $1600
LSET key index value 通過索引設置列表元素的值 $1600
LINSERT key BEFORE AFTER pivot value 在列表的元素前或者後插入元素
RPOPLPUSH source destination 移除列表的最後一個元素,並將該元素添加到另一個列表並返回 $1600

4.字符串集合(set)

存儲Set和List類型不同的是,Set集合中不允許出現重複的元素

Set可包含的最大元素數量是4294967295

存儲set常用命令:

添加/刪除元素

獲取集合中的元素

集合中的差集運算

集合中的交集運算

集合中的並集元算

擴展命令

存儲Set使用場景:

跟蹤一些唯一性數據

用於維護數據對象之間的關聯關係

語法 解釋 例子
SADD key member1 [member2] 向集合添加一個或多個成員 $1600
SMEMBERS key 返回集合中的所有成員 $1600
SCARD key 獲取集合的成員數 $1600
SRANDMEMBER key [count] 返回集合中一個或多個隨機數 $1600
SREM key member1 [member2] 移除集合中一個或多個成員 $1600
SISMEMBER key member 判斷 member 元素是否是集合 key 的成員 $1600
SDIFF key1 [key2] 返回給定所有集合的差集 $1600
SDIFFSTORE destination key1 [key2] 返回給定所有集合的差集並存儲在 destination 中 $1600
SINTER key1 [key2] 返回給定所有集合的交集 $1600
SINTERSTORE destination key1 [key2] 返回給定所有集合的交集並存儲在 destination 中 $1600
SUNION key1 [key2] 返回所有給定集合的並集 $1600
SUNIONSTORE destination key1 [key2] 所有給定集合的並集存儲在 destination 集合中 $1600

5.有序字符串集合(sorted set)

存儲Sorted-Set

Sorted-Set和Set的區別

Sorted-Set中的成員在集合中的位置是有序的

存儲Sorted-set常用命令

添加元素

獲得元素

刪除元素

範圍查詢

擴展命令

Sorted-Set使用場景:

大型在線遊戲積分排行榜

構建索引數據

語法 解釋 例子
ZADD key score1 member1 [score2 member2] 向有序集合添加一個或多個成員,或者更新已存在成員的分數 $1600
ZRANGE key start stop [WITHSCORES] 通過索引區間返回有序集合指定區間內的成員 $1600
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT] 通過分數返回有序集合指定區間內的成員 $1600
ZREVRANGE key start stop [WITHSCORES] 返回有序集中指定區間內的成員,通過索引,分數從高到低 $1600
ZCARD key 獲取有序集合的成員數 $1600
ZCOUNT key min max 計算在有序集合中指定區間分數的成員數 $1600
ZREM key member [member …] 移除有序集合中的一個或多個成員 $1600
ZREMRANGEBYRANK key start stop 移除有序集合中給定的排名區間的所有成員 $1600
ZREMRANGEBYSCORE key min max 移除有序集合中給定的分數區間的所有成員 $1600
ZINCRBY key increment member 有序集合中對指定成員的分數加上增量 increment $1600
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章