美文网首页
Redis问题汇总

Redis问题汇总

作者: Franck_ | 来源:发表于2020-11-09 16:28 被阅读0次

为什么要使用Redis ?

速度快 ,走内存, 不用去查硬盘,内存速度比硬盘快很多 。
可以利用分布式线程安全的特性,操作一些相关的业务。 多个WEB服务器,同时操作1条要求线程安全的数据。

Redis为什么那么快?

基于内存

Redis大KEY怎么处理?

Redis过期时间怎么处理?

Redis 雪崩的处理?

同一个时间点,缓存全部过期(或者缓存故障),这时候,全部的请求到达数据库。 导致数据库压力瞬间过高。

事前:
保证redis高可用(集群模式,哨兵模式)。
ehcache,二级缓存, 小范围缓存。

发生的时候(事中):
Hystrx
限流+降级: 对数据库进行限流,避免将数据库弄宕机。
例如,数据库可以承担2000个请求, 现在由于缓存挂了导致5000请求到达数据库。 限制2000个请求到达数据库, 剩下的3000个请求走降级逻辑。

事后:
尽快重启,恢复Redis。要开启持续化,保证Redis数据不丢失。

Redis穿透的处理?

多个请求都没有对应的缓存,每次都会去数据库查询。可能每次数据库里面都没有找到数据, 这样每次都会去查库, 但是每次都不会缓存。

可以将这些缓存穿透这些请求key,放一个对应的空value,这样,下次请求的时候可以返回空值。

会有几个问题:

  1. 如果这个key,下次在数据库里面有值,这样就查不出来。
  2. 如果每次的key都不一样, 每次都缓存,意义也不大。
  3. 这样会产生大量的key占用了redis的空间。

问题1, 可以将这缓存设置一个比较短的过期时间 ,5秒~10秒,过期,这样下次就可以进行数据库查询了。

Redis 击穿的处理?

缓存击穿是穿透的一个特殊的表现,有一个热点的key,承接着大量的并发, 这时候过期了, 这大量的并发会直接到达数据库, 这个就叫做缓存击穿。

热点数据不过期,数据有更新的时候,进行redis更新。
会导致Redis占用过大。 有的热点数据可能过几个月就不是热点了。

给热点数据续期,每次访问,修改热点数据的key的有效期。写一些逻辑,这个数据访问了1000次,给续期一下, 然后清零,再次到达1000次访问,再次续期清零。

分布式锁, 例如1w个请求, 同时到达,只有1个能够获取到锁,然后去数据库里面查询,将数据放到redis, 那么剩下的请求就可以到达redis里面去获取到数据了。

Redis的删除机制是怎么样的?

100毫秒随机检查一些KEY ,是过期的key就删除。 每次获取key的时候,先检查这个key是否过期,如果过期,就删除掉。

针对已经过期的内存
还有就是内存淘汰机制:

线程安全原理? 为为什么线程安全?

单线程。

热点数据的处理, 怎么设置过期时间?如何续期?

Redis里面的结构?槽位?

Redis装满了怎么办?

纵向扩展。搭建集群模式。

怎么保证高可用?

Master 结点一定要开启持持久化。
不然Master一重启,就会将所有空数据同步到salve。全部结点清空。

怎么保证高并发?

读写分离,用多个Redis支撑读。10w并发以下,1主多从架构。

使用哨兵模式和使用集群模式。

主从复制和哨兵的原理是怎么样的?

主从复制的半同步是什么意思?

如何保证Redis绝对不丢数据?

相关文章

  • Redis问题汇总

    1、启动警告 CentOS 7下安装的Redis,按照默认配置启动总是提示: 执行以下语句: 并在/etc/rc....

  • Redis问题汇总

    为什么要使用Redis ? 速度快 ,走内存, 不用去查硬盘,内存速度比硬盘快很多 。可以利用分布式线程安全的特性...

  • 8、Redis问题汇总

    1、Redis为什么是单进程的 我觉得最重要的一点是,redis作为一个内存数据库,内存操作是很快的。网络IO是瓶...

  • ROC-AUC 曲线以及PRC曲线

    目录:机器学习常见面试问题汇总问题汇总(1):逻辑回归问题汇总(2):支持向量机问题汇总(3):树模型问题汇总(4...

  • redis汇总

    redis优化 redis 操作相关 安装Redis redis常用命令

  • Redis汇总

    1. redis 数据类型 string, list, hash ,set,zset 2. redis 单线程模型...

  • 问题汇总(5):神经网络

    这篇应当也是很重要的把~ 目录:机器学习常见面试问题汇总问题汇总(1):逻辑回归问题汇总(2):支持向量机问题汇总...

  • redis与memcached常见问题汇总

    两者的区别 Redis与memcached的选择 如果只是缓存String数据,推荐选择memcached,性能高...

  • spring data redis 项目使用问题汇总

    使用spring data redis已经很长一段时间了,在项目使用过程中还是犯了一些常见的错误,现在总结一下,避...

  • Xcode 11.4.1 修复的问题汇总

    Xcode 11.4.1 修复的问题汇总Xcode 11.4.1 修复的问题汇总

网友评论

      本文标题:Redis问题汇总

      本文链接:https://www.haomeiwen.com/subject/vaalbktx.html