redis多级缓存介绍

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知识请关注redis入门教程栏目。

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2043811.html

(0)
上一篇 2025年2月24日 01:00:31
下一篇 2025年2月22日 21:16:08

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • redis和memcached的优缺点及区别介绍

    1、使用redis有哪些好处? (1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,list,set,sorted set,has…

    2025年2月24日
    200
  • redis实现批量删除的命令介绍

    redis实现批量删除: 1、访问redis根目录    cd  /usr/local/redis-2.8.19 2、登录redis:redis-cli -h 127.0.0.1 -p 6379 (其中,127.0.0.1可以写成服务器的I…

    2025年2月24日
    200
  • redis自增计数

    INCR key 将 key 中储存的数字值增一。 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 本操作的值限制在 64…

    2025年2月24日
    200
  • 使用Redis存放token

    相信做过微信公众号开发的phper都知道,调取微信的接口都需要带上access_token的。access_token是公众号的全局唯一接口调用凭据。这个access_token每天获取的次数有限制,所以,我们需要自己保存。另外这个toke…

    数据库 2025年2月24日
    200
  • 使用redis来做计数器完善投票系统

    首先看应用场景:几年前,微信里许多投票系统。很多人都找好友或朋友圈找人拉票。当时,有一个比较大的乐园也做了这个投票活动,好像是超过一定票数就可以免费玩。我也被好友要求给他投票,一天好像可以投3票还是5票,具体的记不太清了。我当时进去该系统后…

    数据库 2025年2月24日
    200
  • redis多数据库的使用

    一台服务器上都快开启200个redis实例了,看着就崩溃了。这么做无非就是想让不同类型的数据属于不同的应用程序而彼此分开。 那么,redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的实例上呢?就相当于mysql数据库,不同…

    2025年2月24日 数据库
    200
  • redis内存淘汰机制介绍

    Redis内存淘汰指的是用户存储的一些键被可以被Redis主动地从实例中删除,从而产生读miss的情况,那么Redis为什么要有这种功能?这就是我们需要探究的设计初衷。 Redis最常见的两种应用场景为缓存和持久存储,首先要明确的一个问题是…

    2025年2月24日
    200
  • redis两种持久化方式的缺陷介绍

    一、RDB持久化模式缺陷 1、问题描述: 并发200路,模拟不断写Redis,持续4小时后,接口调用开始出现大量失败,错误信息如下: {“data”:{“sendResult”:null},”base”:{“returncode”:”999…

    2025年2月24日 数据库
    200
  • Redis字符串类型的几种应用

    redis的字符串数据类型,是最简单的一种数据类型,但它也是学好其他redis的数据类型的基础。下面介绍几种redis的应用。 限流 使用redis可以做到限流的作用。redis本身性能极高,可以用它来抵挡部分请求。 防御大流量 现在网站攻…

    数据库 2025年2月24日
    200
  • Redis存放日志及热门文章

    使用redis的列表数据类型可以实现多种数据结构,可以将它看做php中的索引数组。它可以实现栈、队列、消息队列的多种数据结构。今天,和大家介绍下,如何使用redis来保存系统日志及热门文章列表。 存放日志 大家知道,nginx日志默认不会自…

    数据库 2025年2月24日
    200

发表回复

登录后才能评论