redis面试题

为什么使用缓存:使用缓存的好处,高性能和高并发,假设有两个用户需要去数据库里面查找同一个数据,如果没有redis,那么每一次访问都需要去数据库获取,假设访问数据库需要700ms,两次访问需要1400ms,引入redis之后,第一次访问数据库获取数据之后,就会将数据缓存到redis中,这样子第二次就不需要访问数据库,在缓存中就可以获取,假设访问redis需要50ms,那么两次查找就只需要花费750ms,这样子用户的体验就从800ms降到了50ms,这就是高性能,接下来高并发,加入我们当前系统,在某一个时间段,会出现流量激增,出现1万用户的并发,mysql正常只能支持2000个数据的一个并发,因此一万的并发请求直接来访问数据库,就会导致数据库宕机,整个系统就无法访问,那么这个时候我们可以借助redis,来进行抗压,比如我们当前用户做了一个请求,这个请求可能是高频的,请求数据库完成之后,它就会放到redis里面来,根据redis的高性能,接下来很多用户都是redis来处理,这样子访问的数据又快,并且大部分的流量都是到达redis,redis是基于内存来存储的,他是可以支持上万的并发请求,这样子并发量就提高了很多,引入redis之后,大部分的请求就走的redis放回。

引入缓存会带来什么问题:双写不一致,穿透,击穿,雪崩,并发竞争。双写不一致问题是指在mysql中的数据和在redis中的数据,在更新的过程中,他们实际上还是会有一些时间间隔,那么用户在访问这个redis返回数据呢,就可能会访问到短暂时间的旧数据,还没有来得及更新的redis,这样子就可能会产生数据不一致的问题。(1)缓存雪崩:由于大量缓存同时过期或Redis宕机,导致数据库面临巨大访问压力,这可能会对整个系统稳定性造成严重影响。(2)缓存击穿:热点数据过期导致大量请求直接访问数据库,这可能会迅速耗尽数据库资源,造成服务不可用。(3)缓存穿透:请求不存在的数据项,如果没有适当的策略,将导致数据库面临大量无效查询,增加了不必要的负载。

相关推荐

  1. Redis面试

    2024-07-16 21:36:10       58 阅读
  2. Redis面试5

    2024-07-16 21:36:10       45 阅读
  3. Redis面试4

    2024-07-16 21:36:10       47 阅读
  4. Redis面试8

    2024-07-16 21:36:10       51 阅读
  5. Redis面试7

    2024-07-16 21:36:10       46 阅读
  6. Redis面试9

    2024-07-16 21:36:10       42 阅读
  7. redis 面试(二)

    2024-07-16 21:36:10       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 21:36:10       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 21:36:10       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 21:36:10       58 阅读
  4. Python语言-面向对象

    2024-07-16 21:36:10       69 阅读

热门阅读

  1. c++二叉搜索数模拟实现(代码)

    2024-07-16 21:36:10       17 阅读
  2. C#面 :dot net core工程里面有哪些常见的工程文件?

    2024-07-16 21:36:10       17 阅读
  3. docker部署项目命令

    2024-07-16 21:36:10       20 阅读
  4. ns3-gym入门(二):linear-mesh例子详解

    2024-07-16 21:36:10       16 阅读
  5. 数据结构与算法-09贪心算法&动态规划

    2024-07-16 21:36:10       16 阅读
  6. 访问者模式(大话设计模式)C/C++版本

    2024-07-16 21:36:10       17 阅读
  7. Logstash常用的filter四大插件

    2024-07-16 21:36:10       18 阅读
  8. RTOS中断与任务的同步

    2024-07-16 21:36:10       19 阅读
  9. 哈希表(知识点+leetcode)以及字符串哈希

    2024-07-16 21:36:10       21 阅读
  10. 运维检查:mysql表自增id是否快要用完

    2024-07-16 21:36:10       19 阅读
  11. C++设计模式(装饰器模式)

    2024-07-16 21:36:10       18 阅读
  12. 哪些点权衡素材优秀与否

    2024-07-16 21:36:10       18 阅读