天天看点

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