三级缓存实操系列(二)

简介: 三级缓存实操系列(二)

HotKey探测关键指标

1、实时性

这个很容易理解,key往往是突发性瞬间就热了,根本不给你再慢悠悠手工去配置中心添加HotKey再推 送到jvm的机会。它大部分时间不可预知,来得也非常迅速,可能某个商家上个活动,瞬间HotKey就出现了。如果短时间内没能进到内存,就有redis集群被打爆的风险。所以HotKey探测框架最重要的就是实时性,最好是某个key刚有热的苗头,在10秒内它就已经进到整个 服务集群的内存里了,10秒后就不会再去密集访问redis了。同理,对于刷子用户也一样,刚开始刷,10秒内我就把它给禁掉了。

2、准确性

这个很重要,也容易实现,累加数量,做到不误探,精准探测,保证探测出的HotKey是完全符合用户自己设定的阈值。

3、集群一致性

这个比较重要,尤其是某些带删除key的场景,要能做到删key时整个集群内的该key都会删掉,以避免数据的错误。

4、高性能

这个是核心之一,高性能带来的就是低成本,做HotKey探测目的就是为了降低数据层的负载,提升应用层的性能,节省服务器资源。不然,大家直接去整体扩充本地缓存、或者redis集群规模就好了。理论上,在不影响实时性的情况下,要完成实时HotKey探测,所消耗的机器资源越少,那么经济价值就越大。

如何实现HotKey探测?

HotKey探测方案1:流计算集群

64dd7832f4b393744aef6304118a3936.png

java 应用将访问记录发送到消息队列,如 kafka  storm、flink 集群通过算子的方式进行top N基于滑动窗口,时间窗口的算法的计算,把top N 结果存在 redis的有序集合里面,其中的 top N的key,就是热点 key。

HotKey探测方案2:自研无入侵 hotkey 计算框架、多级缓存框架

有赞透明多级缓存解决方案

HotKey探测方案3:结合开源hotkey,做热点探测

比如:结合京东开源hotkey 框架,做缓存热点hotkey的探测, 从而实现 多级缓存框架, 提升本地缓存的命中率

相关文章
|
2天前
|
存储 缓存 Java
三级缓存实操系列(四)
三级缓存实操系列(四)
|
2天前
|
数据采集 缓存 NoSQL
三级缓存实操系列(一)
三级缓存实操系列(一)
|
2天前
|
存储 缓存 NoSQL
三级缓存实操系列(三)
三级缓存实操系列(三)
|
SQL 存储 缓存
数据湖实操讲解【JindoFS 缓存加速】第十三讲:Presto 访问 OSS 透明缓存加速
数据湖 JindoFS+OSS 实操干货 36讲 每周二16点准时直播! 扫文章底部二维码入钉群,线上准时观看~ Github链接: https://github.com/aliyun/alibabacloud-jindofs
数据湖实操讲解【JindoFS 缓存加速】第十三讲:Presto 访问 OSS 透明缓存加速
|
SQL 缓存 分布式计算
数据湖实操讲解【JindoFS 缓存加速】第十五讲:云上计算云下数据:HDFS 缓存加速
数据湖 JindoFS+OSS 实操干货 36讲 每周二16点准时直播! 扫文章底部二维码入钉群,线上准时观看~ Github链接: https://github.com/aliyun/alibabacloud-jindofs
数据湖实操讲解【JindoFS 缓存加速】第十五讲:云上计算云下数据:HDFS 缓存加速
|
存储 缓存 分布式计算
数据湖实操讲解【JindoFS 缓存加速】第十四讲:指定表和分区来预先缓存,查询分析更高效
数据湖 JindoFS+OSS 实操干货 36讲 每周二16点准时直播! 扫文章底部二维码入钉群,线上准时观看~ Github链接: https://github.com/aliyun/alibabacloud-jindofs
数据湖实操讲解【JindoFS 缓存加速】第十四讲:指定表和分区来预先缓存,查询分析更高效
|
存储 SQL 缓存
数据湖实操讲解【JindoFS 缓存加速】第十二讲:Spark 访问 OSS 透明缓存加速
数据湖 JindoFS+OSS 实操干货 36讲 每周二16点准时直播! 扫文章底部二维码入钉群,线上准时观看~ Github链接: https://github.com/aliyun/alibabacloud-jindofs
数据湖实操讲解【JindoFS 缓存加速】第十二讲:Spark 访问 OSS 透明缓存加速
|
13天前
|
canal 缓存 NoSQL
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
根据对一致性的要求程度,提出多种解决方案:同步删除、同步删除+可靠消息、延时双删、异步监听+可靠消息、多重保障方案
Redis缓存与数据库如何保证一致性?同步删除+延时双删+异步监听+多重保障方案
|
1月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING command over channel
【Azure Redis 缓存】Redission客户端连接Azure:客户端出现 Unable to send PING command over channel
|
29天前
|
缓存 NoSQL Java
Redis深度解析:解锁高性能缓存的终极武器,让你的应用飞起来
【8月更文挑战第29天】本文从基本概念入手,通过实战示例、原理解析和高级使用技巧,全面讲解Redis这一高性能键值对数据库。Redis基于内存存储,支持多种数据结构,如字符串、列表和哈希表等,常用于数据库、缓存及消息队列。文中详细介绍了如何在Spring Boot项目中集成Redis,并展示了其工作原理、缓存实现方法及高级特性,如事务、发布/订阅、Lua脚本和集群等,帮助读者从入门到精通Redis,大幅提升应用性能与可扩展性。
58 0