千家信息网

Redis相关问题有哪些

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要介绍了Redis相关问题有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Redis相关问题有哪些文章都会有所收获,下面我们一起来看看吧。一、缓存穿透概念
千家信息网最后更新 2025年12月01日Redis相关问题有哪些

这篇文章主要介绍了Redis相关问题有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Redis相关问题有哪些文章都会有所收获,下面我们一起来看看吧。

一、缓存穿透

概念 - 访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。

存在场景

  • 系统设计不合理,缓存数据更新不及时

  • 爬虫等恶意攻击

解决方案

  • 采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤

  • 若访问 key 在 DB 中不存在,在 Redis 中写入一个空值,设置一个较短的过期时间,避免长期占用内存。

二、缓存雪崩

概念
大量的key设置了相同的过期时间,导致在缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增,引起雪崩。

解决方案

  • 事前:使用主从复制+哨兵或者Redis集群。

  • 事中:本地缓存结合限流和降级。

  • 事后:开启持久化配置,实现快速缓存的快速恢复。

  • 可以给缓存设置过期时间时加上一个随机值时间,使得每个key的过期时间分布开来,不会集中在同一时刻失效。

三、缓存击穿

概念
热点 key 问题,一个存在的key,在缓存过期的一刻,同时有大量的请求,这些请求都会击穿到DB,造成瞬时DB请求量大、压力骤增。

解决方案

  • 在访问key之前,采用SETNX(set if not exists)来设置另一个短期 key 来锁住当前 key 的访问,访问结束再删除该短期key(互斥锁,同一时刻只允许一个线程去构建缓存,其他线程等待构建完毕后去缓存取)

  • 同一时刻只允许一个线程去构建缓存,其他线程等待构建完毕后去缓存取

四、数据库、缓存双写不一致

概念

当一个数据需要更新时,不可能做到同时更新数据库和缓存,那么此时读取数据的时候就一定会发生数据不一致问题,而数据不一致问题在金融交易领域的系统中是肯定不允许的。

解决方案

  • 读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。

  • 更新的时候,先更新数据库,然后再删除缓存。

五、缓存淘汰策略

概念

缓存 30G 的数据,但 Redis 本身只支持 10G,则使用缓存淘汰机制,保留最重要的 10个G 数据。

Redis 提供的淘汰策略

  • 查看 Redis 允许使用的最大内存,属性:server.maxmemory

  • 指定数据淘汰算法 :maxmemory-policy allkeys-lru

  • LRU和最小TTL算法的样本个数 :maxmemory-samples 5

  • volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰

  • volatile-ttl:从已设置过期时间的数据集挑选将要过期的数据淘汰

  • volatile-random:从已设置过期时间的数据集中任意选择数据淘汰

  • allkeys-lru:从数据集中挑选最近最少使用的数据淘汰

  • allkeys-random:从数据集中任意选择数据淘汰

  • no-enviction:内存不足时添加数据会报错

关于"Redis相关问题有哪些"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Redis相关问题有哪些"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

数据 缓存 时间 问题 概念 更新 数据库 方案 时刻 线程 解决方案 一致 内存 同时 时候 知识 内容 压力 短期 策略 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件开发项目工程流程 网吧服务器怎么下载epic db2 数据库 官方下载 NBA2k21mt模式服务器 网络安全区块链ppt 手机直播服务器 数据库系统工程师介绍 软件开发生存周期从什么开始 生产安全稳定服务器 sql数据库只显示一个字段 成都东谷软件开发有限公司 新泰市委网络安全 加强网络安全信息管理和应用 如何建立服务器远程扫码传照片 国泰安数据库权威吗 网络安全的知识绘画 怎么进到服务器健康管理状况 广州大学信息安全和网络安全 西安做软件开发外包的外资企业 数据库管理系统是程序设计 联合国人口数据库 下载 合肥软件开发制作公司 不是一个服务器可以一起玩游戏吗 蓝牙设备怎么连接终端数据库 青岛市公安消防局 服务器 输液管理软件开发方案公司 松江区企业数据库销售价格大全 怎么给服务器增加盘 标准网络技术市场报价 湖州敏捷软件开发
0