【筆記】-《Redis實戰》- 01 Redis資料結構

weixin_34008784發表於2018-12-13

安裝

Redis 資料結構

  • STRING: 字串、整數、浮點
  • LIST: 連結串列,連結串列上的每個節點都包含一個字串
  • SET: 包含字串的無序收集器(unordered collection), 每個字串都不相同
  • HASH: 包含鍵值對的無序雜湊表
  • ZSET: 字串成員(member)與浮點數分值(score)之間的有序對映, 元素的排列順序由分值大小決定

1. STRING

使用 redis-cli 連線: redis-cli

# 設定值
set hello world
# 獲取值
get hello
# 刪除值
del hello

2. LIST

# lpush 向列表左端推入新元素
# rpush 向列表右端推入新元素
rpush list-key item
rpush list-key item2
rpush list-key item

# lrange 獲取列表在給定範圍的所有元素 (lrange key start stop)
lrange list-key 0 -1

# 獲取指定位置的單個元素 (lindex key index)
lindex list-key 1  # "item2"

# lpop 從列表左端彈出一個元素
# rpop 從列表右端彈出一個元素
lpop list-key

3. SET

# sadd 將元素新增到集合中 (sadd key member [member ...])
sadd set-key item
sadd set-key item2
sadd set-key item3

# smembers 獲取集合包含的所有元素 (smembers key)
smembers set-key

# srem 從集合裡面移除元素 (srem key member [member ...])
srem set-key item item2

4. HASH

# hset 在雜湊裡面關聯給定的鍵值對 (hset key field value)
# hash-key: 鍵名
# 'sub-key1 value1' 與 'sub-key2 value2': 鍵值對
# hash-key 是一個包含兩個鍵值對的雜湊鍵
hset hash-key sub-key1 value1
hset hash-key sub-key2 value2

# hgetall 獲取雜湊包含的所有鍵值對 (hgetall key)
hgetall hash-key

# hdel 移除給定的鍵 (hdel key field [field ...])
hdel hash-key sub-key1

# hget 獲取指定雜湊鍵的值 (hget key field)
hget hash-key sub-key2

5. ZSET

有序集合和雜湊一樣,都用於儲存鍵值對。
有序集合的鍵被稱為成員(member), 每個成員各不相同; 值被稱為分值(score),分值必須為浮點數。
有序集合是Redis裡面唯一一個既可以根據成員訪問元素,又可以根據分值以及分值的排列順序來訪問元素的結構。

# zadd 將一個帶有給定分值的成員新增到有序集合
# zadd key [NX|XX] [CH] [INCR] score member [score member ...]
zadd zset-key 728 member1
zadd zset-key 982 member0

# 根據元素在有序集合中所處的位置,從有序集合中獲取給定範圍的多個元素
# zrange key start stop [WITHSCORES]
zrange zset-key 0 -1 withscores

# 獲取有序集合在給定分值範圍內的所有元素
# zrangebyscore key min max [WITHSCORES] [LIMIT offset count]
zrangebyscore zset-key 0 800 withscores

# zrem 移除給定有序集合的元素
# zrem key member [member ...]
zrem zset-key member1

相關文章