栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Redis 大key、热key优化

Redis 大key、热key优化

Redis 大key、热key优化 大key

分为两种:字符串类型长度很大以及非字符串类型的数据结构中元素很多

  1. 危害:

    1. 集群模式下,内存分配不均,不利于集群管理
    2. 非字符串的数据结构例如hash,执行hgetall时,大key会导致阻塞
    3. 过期删除大key导致阻塞
    4. 读大key时网络阻塞
  2. 监控:

    1. 找运维,让他们在从节点上监控,利用scan + memory usage方式。
    2. 找架构组,在客户端改造或者中间proxy上改造,统计每次写入redis的数据大小,写入elasticsearch,然后在es上做监控报警。这种方式实时但是不全面,会漏掉通过追加变成bigkey的key。
  3. 找到之后第一步 删除 (如果对业务有影响,则先做第二步,再做第一步)

    1. 对字符串,直接del,不阻塞
    2. 对于非字符串,利用hscan、ltrim、sscan、zscan,分多批删除
  4. 找到之后第二步 优化

    1. 拆分,拆成多个key,让其散列到集群下的不同节点中。比如按userId拆、按时间拆。
热key

场景比如某个抢购商品的基础信息、库存。

  1. 危害:

    1. 集群模式下,大量的压力干到一个节点上
  2. 监控:

    1. 找架构组,在客户端改造或者中间proxy上改造,统计每次请求,输出到elasticsearch,然后在es上做监控报警
  3. 优化:

    1. 集群模式下,需要将请求分散到不同节点上。例如库存,可以拆多块分散到不同节点
    2. 多级缓存,将热点key用服务器来做缓存(堆内concurrenthashmap,堆外ecache),利用发布订阅或者其他消息中间件来更新。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/389209.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号