Redis:Hot Key问题


关键词

  • 发现:(预估,客户端统计,redis自带命令,大数据流式计算)
  • 处理:(本地缓存,add节点负载,限流熔断保护)

一、Redis:Hot Key问题

当有大量的请求(几十万)访问某个Redis某个key时,由于流量集中达到网络上限,从而导致这个redis的服务器宕机。造成缓存击穿,接下来对这个key的访问将直接访问数据库造成数据库崩溃,或者访问数据库回填Redis再访问Redis,继续崩溃。

二、如何发现热key

1、预估热key,比如秒杀的商品、火爆的新闻等
2、在客户端进行统计,实现简单,加一行代码即可
3、如果是Proxy,比如Codis,可以在Proxy端收集
4、利用Redis自带的命令,monitor、hotkeys。但是执行缓慢(不要用)
5、利用基于大数据领域的流式计算技术来进行实时数据访问次数的统计,比如 Storm、Spark Streaming、Flink,这些技术都是可以的。发现热点数据后可以写到zookeeper中

三、如何处理热Key

1、变分布式缓存为本地缓存
发现热key后,把缓存数据取出后,直接加载到本地缓存中。可以采用Ehcache、Guava Cache都可以,这样系统在访问热key数据时就可以直接访问自己的缓存了。(数据不要求时时一致)

2、在每个Redis主节点上备份热key数据,这样在读取时可以采用随机读取的方式,将访问压力负载到每个Redis上。

3、利用对热点数据访问的限流熔断保护措施
每个系统实例每秒最多请求缓存集群读操作不超过 400 次,一超过就可以熔断掉,不让请求缓存集群,直接返回一个空白信息,然后用户稍后会自行再次重新刷新页面之类的。(首页不行,系统友好性差)通过系统层自己直接加限流熔断保护措施,可以很好的保护后面的缓存集群。

  • 秒杀:没有秒杀到(熔断)
  • 首页面:需要给给回复

Redis:Hot Key问题相关推荐

  1. redis企业级应用(下)-如何维护redis的key

    2019独角兽企业重金招聘Python工程师标准>>> 在实际项目开发中,我们会有很多的地方会用到redis,当然也会设置很多的key,但是一旦这些key键多起来了难免会造成重复,或 ...

  2. 查看redis缓存大小_一个 bug 引发了服务器崩溃,对应 redis 的 key 回收原理你清楚了吗?...

    1 背景 项目中使用了 redis 做旁路缓存.读请求到来时,有以下操作:1.检查缓存,有则返回2.没有则读取数据库,将结果回写到缓存中. 写请求到来时,有以下操作:1.更新数据库 2.更新缓存(实际 ...

  3. Redis 键(key) 命令

    Redis 键(key) 命令 命令 描述 Redis DEL 命令 该命令用于在 key 存在是删除 key. Redis Dump 命令 序列化给定 key ,并返回被序列化的值. Redis E ...

  4. Redis 热 Key 发现以及解决办法

    背景介绍 最近在技术交流微信群里看大家讨论技术,其中有谈到 Redis 热 Key 的一些问题解决方案,我也仔细思考了一下我们目前系统中 Redis 的使用场景,我们是不是也存在热 Key 问题,或者 ...

  5. Redis的key和value大小限制

    Redis的key和value大小限制 今天研究了下将java bean序列化到redis中存储起来,突然脑袋灵光一闪,对象大小会不会超过redis限制?不管怎么着,还是搞清楚一下比较好,所以就去问了 ...

  6. php redis 删除key 通配符,php中redis批量删除key的方法是什么

    php中redis批量删除key的方法是什么 发布时间:2020-08-28 14:42:05 来源:亿速云 阅读:159 作者:小新 小编给大家分享一下php中redis批量删除key的方法是什么, ...

  7. redis热点key解决方案_缓存穿透,缓存雪崩,4种解决方案分析

    前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透.缓存击穿与失效时的雪崩效应. 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到 ...

  8. 面试精讲之面试考点及大厂真题 - 分布式专栏 11 Redis热点key大Value解决方案

    11 Redis热点key大Value解决方案 时间像海绵里的水,只要你愿意挤,总还是有的. --鲁迅 引言 上期分析了<Redis 雪崩,穿透,击穿三连问>,看了我的分析后回答面试官肯定 ...

  9. 深度评测丨GaussDB(for Redis)大Key操作的影响

    本文分享自华为云社区<墨天轮评测:GaussDB(for Redis)大Key操作的影响>,作者: 高斯 Redis 官方博客. 在前一篇文章<墨天轮评测:GaussDB(for R ...

  10. 技术解读丨分布式缓存数据库Redis大KEY问题定位及优化建议

    摘要:如何定位分布式缓存数据库Redis大KEY问题,实操案例带你掌握优化方法. [背景] 访问Redis 5.0 cluster集群出现OOM报错,报错信息为(error) OOM command ...

最新文章

  1. JAVA通信系列三:Netty入门总结(转)
  2. Save a tree as XML using XmlSerializer
  3. poj2186强联通(牛仰慕)
  4. 有三AILab成立 | 寻找合适的你
  5. Oracle数据库与Access互导实例
  6. h5页面不可 移动_七大h5创建工具
  7. dry的原理_速干面料的原理
  8. UnityGI4:混合光照
  9. iOS 开发,该如何解决弹窗的设计问题?
  10. 【Spark篇】---SparkStreaming算子操作transform和updateStateByKey
  11. PHP学习笔记--array_map函数
  12. 2.页面截长图工具-FireShot
  13. 斗鱼基于etcd和ZooKeeper的注册中心实践案例
  14. 晶振-电路中的心脏起搏器
  15. LeetCode的使用方法
  16. 苹果App Store应用程序的下载链接地址
  17. ORCAD中occurences 和 instances的区别
  18. Win10任务管理器不显示GPU的解决方法
  19. 论文小结——CenterPoint
  20. Ubuntu18.04安装Carla 记录

热门文章

  1. 设计模式实践系列 (3) - 装饰模式 ( Decorator )
  2. 关于 ls 命令的一个小小的缺陷
  3. 理解 Python 中的异步编程
  4. 免费mac虚拟机下载 快速安装win系统
  5. vs连接mysql出错解决方法
  6. Android应用程序组件Content Provider的共享数据更新通知机制分析
  7. HttpApplication的认识与加深理解
  8. WSUS客户端无法发现
  9. 关键时刻不可或缺的5款高科技紧急应用
  10. 7.Hibernate查询