Redis 能干嘛
- 记录帖子的点赞数、评论数和点击数 (hash)。
- 记录用户的帖子 ID 列表 (排序),便于快速显示用户的帖子列表 (zset)。
- 记录帖子的标题、摘要、作者和封面信息,用于列表页展示 (hash)。
- 记录帖子的点赞用户 ID 列表,评论 ID 列表,用于显示和去重计数 (zset)。
- 缓存近期热帖内容 (帖子内容空间占用比较大),减少数据库压力 (hash)。
- 记录帖子的相关文章 ID,根据内容推荐相关帖子 (list)。
- 如果帖子 ID 是整数自增的,可以使用 Redis 来分配帖子 ID(计数器)。
- 收藏集和帖子之间的关系 (zset)。
- 记录热榜帖子 ID 列表,总热榜和分类热榜 (zset)。
- 缓存用户行为历史,进行恶意行为过滤 (zset,hash)。
用在哪些地方
string
- 缓存数据
限流、计数器、分布式锁、session共享
限流、降级、熔断、隔离
hash
可以用来存用户信息,一个用户就只有一个键,但是用户有多个属性 用户主页访问量 组合查询等
list
基本用来做队列处理
-
lpush + lpop = Stack(栈)
-
lpush + rpop = Queue(队列)
-
lpush + ltrim = Capped Collection(有限集合)
-
lpush + brpop = Message Queue(消息队列)
set
赞,踩,标签,好友关系
Sset
有序集合有分数概念,所以可以用来做排行榜
等