美文网首页
redis缓存使用中的热key问题

redis缓存使用中的热key问题

作者: 赵帅_a4fe | 来源:发表于2020-01-12 17:51 被阅读0次
    热key问题

    何为热key问题?

    在Redis中,访问频率高的key称为热点key,当某一热点key的请求到Server主机时,由于请求量特别大,导致主机资源不足,甚至宕机,影响正常的服务

    热key问题产生原因

    1.用户消费的数据远大于生产的数据,比如热卖商品、热点新闻、热点评论等,这些典型的读多写少的场景会产生热点问题

    2.请求分片集中,超过单Server的性能极限,比如 固定名称key,哈希落入一台Server,访问量极大的情况,超过Server极限时,就会导致热点Key问题的产生

    热key的危害

    1.流量集中,达到物理网卡上限,影响其他key的访问。

    2.请求过多,缓存分片服务被打垮,不能通过扩容解决,且不能发挥集群多分片的优势。

    3.缓存击穿,可能打到DB,引起业务雪崩。

    如何找到热key?

    1.凭借业务经验,进行预估哪些是热key

    2.客户端统计收集,本地统计或者上报

    3.如果服务端有代理层,可以在代理层进行收集上报

    如何解决热key问题?

    1.增加分片副本,分担读流量

    2.热key备份,比如key,备份为key1,key2……keyN,同样的数据N个备份,N个备份分布到不同分片,访问时可随机访问N个备份中的一个,进一步分担读流量

    3.使用本地缓存,发现热key后,将热key对应数据加载到应用服务器本地缓存中,访问热key数据时,直接从本地缓存中获取,而不会请求到redis服务器。

    参考资料:

    http://tigcms.jd.com/details/S11dBQ5M7.html
    https://help.aliyun.com/document_detail/67252.html
    https://www.cnblogs.com/rjzheng/p/10874537.html

    相关文章

      网友评论

          本文标题:redis缓存使用中的热key问题

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