Redis 缓存入门:什么数据适合放进 Redis

举报
yd_266952352 发表于 2026/11/08 03:03:43 2026/11/08
【摘要】 Redis 是最常用的内存数据库,但不是所有数据都适合缓存。本文讲清 Redis 的适用场景、三种常见用法和缓存更新的基本套路。

Redis 是最常用的内存数据库,读性能是 MySQL 的几十倍。但「什么都往 Redis 里塞」是常见反模式,先弄清什么数据值得进缓存。

一、三类适合进 Redis 的数据

一是读多写少的热点数据:商品详情、配置字典,命中率高收益才大。二是需要超时语义的数据:验证码、会话 token,用 SET key value EX 60 一条命令自带过期。三是计数与排行:INCR 秒级计数、ZADD 做排行榜,天然原子性不用自己加锁。

二、三种常用结构对应三种场景

String 做缓存和计数器;Hash 存对象(HSET user:1 name tom,比整体序列化省得反序列化);ZSet 做排序榜单(ZADD rank 100 tom,ZREVRANGE 取 Top10)。用对结构比调参数更影响性能。

三、缓存更新的基本套路

推荐 Cache Aside:读时先查缓存,未命中查库并回填;写时先更新数据库再删除缓存(不是更新缓存)。删除而不是更新,是因为并发写时更新容易写进旧值。再给回填加个随机过期时间,避免同一时刻大量 key 同时失效把数据库打挂。

记住一个判断标准:如果一份数据读取频率不高、或者一致性要求极强(比如账户余额的扣减链路),先别上缓存,直接查库反而更简单可靠。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。