千家信息网

redis如何实现多级缓存

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,按照粒度由粗到细:以商品详情页为例1、页面级别缓存(有时也叫url级别缓存,将页面手动渲染存到redis(key=商品id,val="商品详情页面,以后再次请求这个页面时,从redis中获取,直接向前
千家信息网最后更新 2026年11月02日redis如何实现多级缓存

按照粒度由粗到细:

以商品详情页为例

1、页面级别缓存

(有时也叫url级别缓存,将页面手动渲染存到redis(key=商品id,val="商品详情页面,以后再次请求这个页面时,从redis中获取,直接向前端返回text/html,并且可以告诉浏览器在本地缓存该页面,缺点是页面数据更新不及时)

2、对象级别缓存

(如商品数据,(key= 商品id,val="数据库查出的商品数据")将查询过一次的商品信息存到redis,第二次请求改商品数据时,优先到redis查询)

redis做缓存的思路是:

1、先检查redis有无数据

1.1、有就返回

1.2、没有,就查询数据库,存入redis,再返回

2、注意缓存的生命周期,

如果周期是永久,那么redis很容易崩掉,只是时间的问题

redis在秒杀中的使用:

1、先将秒杀商品库存预存到redis

2、秒杀开始后,在redis中预减库存,减为0该商品秒杀结束(redis是单线程的)

3、如果为了减轻对redis的访问压力,可以将用户提交的秒杀请求放到mq(比如RabbitMq)中

比如一共只有10件商品,一共有10万用户虎视眈眈,都几乎同一时间提交秒杀请求,

3.1、可以将请求放到消息队列中,返回给前端是"排队中";

3.2、消费者(队列的"消费者")按照固定的速度从消息队列中取数据,创建订单到数据库(也就有条不紊的创建10个订单,数据库0冲击),

3.3、虽然有可能是排到前10的用户,如果由于某种原因创建订单失败,就会将该用户的秒杀请求放到mq尾部,接着给队列中的其他用户创建订单

3.4、创建订单成功的请求,将该请求从mq中移除,对用户发送短信"恭喜,秒杀成功!"

3.5、成功创建10个订单之后(也就是秒杀结束),给队列中其他用户请求返回"秒杀失败"

以上就是redis多级缓存介绍的详细内容,更多请关注其它相关文章!

商品 数据 缓存 用户 订单 页面 队列 数据库 成功 级别 查询 前端 周期 库存 时间 消息 消费者 详情 消费 眈眈 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 博彦科技互联网金融 互联网科技公司起名 互联网电商科技 互联网科技公司发展 互联网科技上市公司 融贸通互联网科技 互联网科技创新服务 互联网科技革命什么开始 消费医药和互联网科技 米聚互联网科技南京有限公司排面 中国互联网公司排名锤子科技 互联网科技和法律行业 深圳市罗太互联网科技有限公司 区块链结合互联网科技 半导体是互联网高科技吗 西安有哪些互联网高科技企业 科技互联网经济论坛 互联网科技创新创业项目 互联网企业和网络科技有限公司 科技发展第三阶段互联网时代 手冲咖啡和咖啡机区别 嘟嘟瓜互联网科技 科技赋能互联网健康 玖二柒互联网科技公司待遇 广州恒生互联网科技有限 互联网还是高科技吗 山东子淼互联网科技有限公司 下一代互联网重大应用科技园 张家口科技产业互联网平台 北京品多多互联网科技有限公司
0