千家信息网

Redis相关问题有哪些

发表于:2024-12-02 作者:千家信息网编辑
千家信息网最后更新 2024年12月02日,这篇文章主要介绍了Redis相关问题有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Redis相关问题有哪些文章都会有所收获,下面我们一起来看看吧。一、缓存穿透概念
千家信息网最后更新 2024年12月02日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安全错误 数据库的锁怎样保障安全 网络安全应坚持积极利用 我的世界服务器警察 学计算机网络技术的我迷茫了 甘肃语音网络技术服务优势 网络安全绕口令顺口溜 mysql连接数据库连不上 数据库 人事工资管理系统 濮阳网络技术教育 肯德基的免费网络安全吗 服务器托管用什么机房 温州服务器数据恢复 网络安全融媒体公司 全美食互联网科技有限公司 合肥鹧鸪网络技术有限公司 信用中国数据库短信重要吗 网络安全进社区 青少年 互联网科技变化 天津松鼠力士网络技术有限公司 公安局网络安全宣传资料 江理软件开发咋样 数据库数据类型有货币类型吗 数据库set global 小程序定时删除数据库记录 全自动分拣软件开发 笑傲江湖服务器开启时间 网络安全周金融主题日是哪天 网络安全防护哪家信誉好 怎么更改c 更改数据库 软件开发主要有什么步骤 关于大学生网络安全教育的视频
0