天天看點

Redis常用資料結構和應用場景

一、常見資料類型概覽

1. String

2. Hash 

3.List

4. Set

5. ZSet

二、string

這是最簡單的類型,就是普通的 set 和 get, 緩存key-value。

應用場景:計數、存驗證碼

set count 100
           

三、hash

類似Java中的 map ,也可以将其看作是一個簡單對象(沒嵌套其他的對象),每次讀寫的時候就可以直接根據KEY來擷取

對象的各個屬性

hset user name wzp
hset user age 26
hset user id 1
hget user name
user = {
    "name": "wzp",
    "age": 26,
    "id": 1
}
           

三、list

list 是有序清單,可以用來存放清單類型的資料,比如文章清單,商品清單,評論清單等等

可以實作高效下拉分頁。

比如檢視第一頁的評論,使用者可以點選檢視更多,繼續下拉分頁。

# 0開始位置,10結束位置 ,結束位置為-1時,表示清單的最後一個位置,即檢視所有。
lrange mylist 0 10
           

四、set

set 是用來去重比較合适的集合

比如說共同好友,共同關注,等等。

1 添加元素
sadd firstset 1

2 檢視全部元素
smembers firstset

3 判斷是否包含某個值
sismember firstset 3

4 删除元素
srem firstset 2 4

5 檢視元素個數
scard firstset

6 求交集
sinter secondset firstset

7 求并集
sunion secondset firstset

8 求差集
sdiff secondset firstset
           

五、zset

zset 是一個有序的set , 根據傳入的分數自動排序,升序 ,适合用來做排行榜

zadd movie 9 movie1
zadd movie 8 movie2
zadd movie 8 movie3
zadd movie 7 movie4

倒叙擷取排名前三的電影
zrevrange movie 0 3

擷取某電影的排名
zrank movie movie3