业务场景——热点数据

2023-10-27

热点数据解决思路

识别热点

1.在代码层面做预热识别,比如给某个接口判断入参是否为热点数据的规则(比如redis过期时间1s,调一次+1但不更新过期时间,若增长量>5则判为热数据),这种方法能更快速的识别热数据,但缺点是业务逻辑复杂,且由于写死在代码中无法扩展

2.通过收集日志>分析日志>下发热数据通知,再由消费方实现业务逻辑。这种方式应用较为广泛,但识别需要一定时间

隔离热点

除了访问层面隔离(不同项目,不同接口)外,主要讲下缓存和数据层如何隔离

热点数据特点是数量少,访问频次高,处理热点数据三个方案:热点散列,多级缓存,热点库

热点库:就是将redis急群中单独划出一些实例库存热点数据,当热点数据可预知时,这个方案是最合适的,也是最稳定可控的

多级缓存:本地缓存+redis,如果对象过大,可考虑把jvm缓存改为堆外缓存

热点散列:相当于分布式版本的二级缓存,把集群每个redis实例的内存区域划分为普通区域+hot zone区域,区别在于普通实例只存放属于自己的数据,而所有实例的hotzone都可存放热数据,即对于普通数据,redis集群是分片存储的,hotzone数据不分片,访问hostzone数据时压力由集群所有实例承担,如图

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

业务场景——热点数据 的相关文章

  • 【Redis】分布式锁

    Redis分布式锁 问题描述 随着业务发展的需要 原单体单机部署的系统被演化成分布式集群系统后 由于分布式系统多线程 多进程并且分布在不同机器上 这将使原单机部署情况下的并发控制锁策略失效 单纯的Java API并不能提供分布式锁的能力 为
  • Disruptor(一)Disruptor概念和RingBuffer数据结构

    Disruptor是LMAX公司开源的一个高效的内存无锁队列 谈到并发程序设计 有几个概念是避免不了的 1 锁 锁是用来做并发最简单的方式 当然其代价也是最高的 内核态的锁的时候需要操作系统进行一次上下文切换 等待锁的线程会被挂起直至锁释放
  • 浏览器缓存机制及其分类

    聚沙成塔 每天进步一点点 专栏简介 强缓存 Cache Control 和 Expires 协商缓存 ETag 和 Last Modified 写在最后 专栏简介 前端入门之旅 探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦
  • php中redis memcache等缓存的应用

    欢迎加入 新群号码 99640845 在web开发的过程中缓存是必不可少的工具 无论是mamcache还是redis我想大家都很有所涉略 我分享一下我个人在工作中的一些使用后的想法 缓冲应用设计 对于缓存的使用我想大家应该都会使用 简单的k
  • 后端开发缓存篇之缓存及缓存模式的介绍

    一 什么是缓存 缓存 简单说就是为了节约对原始资源重复获取的开销 而将结果数据副本存放起来以供获取的方式 二 什么时候使用缓存 1 以 幂等和安全的方式对资源的获取操作 2 缓存数据必须是重复获取的 缓存能生效的本质是空间换时间 缓存的命中
  • 老话新谈之缓存一致性

    前言 缓存一致性常见的更新策略也比较多 如先更新数据库再更新缓存 先删缓存再更新数据库等等 我在理解的时候有些混乱 所以这个文章提供了一些理解上的技巧去理解缓存一致性 为什么会有缓存一致性的问题 缓存与数据库是两套中间件 存在网络抖动之类的
  • Redis cluster集群搭建

    通过三台虚拟机搭建一个3主3从的cluster集群 1 安装 gcc c 依赖包 yum install gcc c 2 下载安装包并解压 wget https download redis io releases redis 6 0 9
  • Go内存管理及性能观测工具

    内存管理 TCMalloc Golang内存分配算法主要源自Google的TCMalloc算法 TCMalloc将内存分成三层最外层Thread Cache 中间层Central Cache 最里层Page Heap Thread Cach
  • Redis7之介绍(一)

    一 介绍 1 1 基本了解 Remote Dictionary Server 远程字典服务 是完全开源的 使用ANSIC语言编写遵守BSD协议 是一个高性能的Key Value数据库提供了丰富的数据结构 例如String Hash List
  • Redis常见命令

    命令可以查看的文档 http doc redisfans com https redis io commands 官方文档 英文 http www redis cn commands html 中文 https redis com cn c
  • 第十二章_Redis单线程 VS 多线程

    Redis为什么选择单线程 是什么 这种问法其实并不严谨 为啥这么说呢 Redis的版本很多3 x 4 x 6 x 版本不同架构也是不同的 不限定版本问是否单线程也不太严谨 1 版本3 x 最早版本 也就是大家口口相传的redis是单线程
  • 修改代码后,刷新页面没有更新的解决办法。Disable cache禁止缓存

    工作内容 不对外开放 很多时候 我们修改代码并保存后 到浏览器看效果 发现并没有更新 刷新页面后也没有更新 可能是你的缓存开启了 Network 里勾选Disable cache重新加载页面后 会发现浏览器使用缓存了 打开Disable c
  • 应用级缓存

    缓存介绍 缓存 让数据更接近使用者 目的是让访问速度更快 工作机制是先从缓存中读取数据 如果没有 再从慢速设备上读取实际数据并同步到时缓存 缓存命中率 缓存回收策略 JAVA缓存类型 堆缓存 堆外缓存 磁盘缓存 分布式缓存 多级缓存
  • Redis介绍、安装、基础命令

    目录 引言 一 关系数据库和非关系数据库 1 1 关系型数据库 1 2 非关系型数据库 1 3 关系型数据库与非关系型数据库区别 数据存储方式不同 扩展方式不同 对事务性的支持不同 非关系型数据库产生背景 二 Redis简介 2 1 Red
  • redis 配置与优化

    目录 一 关系数据库和非关系型数据库 二 关系型数据库和非关系型数据库区别 三 非关系型数据库产生背景 四 redis 1 概念 2 redis的优点 3 redis为什么这么快 五 redis安装与配置 一 关系数据库和非关系型数据库 关
  • Redis 分布式缓存

    分布式缓存 单点 Redis 的问题及解决 数据丢失 实现Redis数据持久化 并发能力 搭建主从集群 实现读写分离 存储能力 搭建分片集群 利用插槽机制实现动态扩容 故障恢复能力 利用哨兵机制 实现健康检测和自动恢复 RDB RDB全称R
  • 工作几年了,你真的懂 Redis 嘛?

    大家好 我是伍六七 一个专注于输出 AI 编程内容的在职大厂资深程序员 全国最大 AI 付费社群破局初创合伙人 关注我一起破除 35 诅咒 Redis 基本上是大部分技术公司都会使用的缓存框架 但是我发现很多程序员其实并不懂 Redis 今
  • Java_Mybatis_缓存

    缓存 1 概述 Mybatis 缓存 MyBatis 内置了一个强大的事务性查询缓存机制 它可以非常方便地配置和定制 2 会话缓存 一级缓存 sqlSession 级别的 也就是说 使用同一个 sqlSession 查询同一 sql 时 直
  • 【Redis】Redis 配置文件

    1 概述 相同文件 Redis redis 配置 配置文件 redis conf 自定义目录 myredis redis conf 4 1 Units单位 配置大小单位 开头定义了一些基本的度量单位 只支持bytes 不支持bit 大小写不
  • Redis Geo:掌握地理空间数据的艺术

    欢迎来到我的博客 代码的世界里 每一行都是一个故事 Redis Geo 掌握地理空间数据的艺术 前言 Redis Geo基本概念 Geo模块的目的 工作原理 地理坐标系统

随机推荐

  • 入门机器学习(西瓜书+南瓜书)线性回归和逻辑回归总结(python代码实现)

    入门机器学习 西瓜书 南瓜书 线性回归和逻辑回归总结 python代码实现 一 线性回归理论总结 1 1 通俗理解 通俗理解的线性回归就是求解方程 拿一个最简单的例子来说就是对 y k x b y k
  • scipy提示GLIBCXX缺失,‘GLIBCXX_3.4.29‘ not found (required by xxx)

    credit https askubuntu com q 1393285 https askubuntu com a 1422639 使用ubuntu的test toolchain发布源 sudo add apt repository pp
  • SpringBoot 集成 Swagger 3.0 和 knife4j 文档教程

    SpringBoot 项目集成 Swagger 3 0 文档 添加依赖 在 SpringBoot 项目中 在 pom 文件中添加 Swagger 3 0 的依赖
  • Node.js中的回调函数详解

    Node js中的回调函数详解 回调函数概述 回调函数定义 回调函数主要用途 回调函数用法 回调函数基本格式 简单的回调函数实例 执行顺序理解 回调函数实例 回调函数概述 回调函数在很多地方都有用到 本文主要介绍Node js的回调函数 主
  • spring:集成JDBC

    spring作为一站式框架 提供了控制层的 SpringMVC 和 持久层的 Spring JdbcTemplate 1 导入相关的jar包 pom xml mysql
  • tomcat 和 jboss的热部署(热发布)问题

    所谓的热部署 热发布 下面称为 热部署 就是说 在web工程发布之后 不可避免的 会遇到修改BUG的问题 现在的热部署就是为了解决这个问题 其功能就是说 在不停止web服务的同时 对jsp和java类进行修改 修改后的效果同时还能够在页面上
  • 改变python默认版本方法

    通过软链接命令 ln 此方法为系统级修改 先删除默认的Python软链接 sudo rm rf usr bin python 然后创建一个新的软链接指向需要的Python版本 sudo ln s usr bin python3 usr bi
  • 在idea中启动Vue项目报错Love-Swiper

    今天在重新配置idea时出现的这个错误 由于已经修改完毕 无法重现 大概报错为 Love Swiper 主要错误原因时没有安装vue的这个组件 使用以前语句即可 npm i vue awesome swiper save ignore sc
  • linux中python操作redis读取数据写入文件

    编写python脚本 扫描redis中终端在线集合和查询终端状态表 在redis中 终端在线集合是有序集合存储方式 成员是终端状态表名 终端状态表以hash方式存储 是一个string类型的field和value的映射表 1 脚本第一行是指
  • 常见伪代码指令及使用

    1 声明statement 1 1 Assignment statement赋值语句 variable expression e g将表达式3 4赋给变量result result 3 4 1 2 compound statements 复
  • 2维正态分布-矩阵表示-推导过程

  • 国内主流在用的10大后台UI框架,私活必备

    目录 vue Element Admin AdminLTE ant design pro tabler ng2 admin Gentelella iview admin blur admin vue admin material dashb
  • 今夜你会不会想起我

    夜渐渐的深了 疲惫了一天 还是觉得想写点什么 于是跳下床 把目光所及之处整理了一下 坐下来打开电脑 蓝光从电脑开关处不断的跳跃 随着windows熟悉的声音响起 输入密码 进入桌面 没有登录QQ 只是点开音乐播放器 单曲循环着一首老歌 一首
  • 强烈推荐

    一 前言 在开发中 我们经常会遇到这样一类需求 需要在网页上显示天气预报 股票数据或者实时排行榜单等实时变化的数据 对于此类需求 一种较为原始的做法就是让客户端每隔一段时间主动去轮询服务器 但这种做法有一个很大的弊端 如果客户端的数量很大
  • nginx中的脚本(理论篇)

    按照常规的打法或者按照常规的思路 针对变量的开发 也就是我们在ngx变量实现原理中介绍的那样 定义指令 设计结构体保存指令值 设计方法支持变量插入 利用自带的方法创建注册变量 利用自带的方法获取变量值等等 利用这些基本知识或功能点来开发变量
  • 密码设置十准则

    不论是互联网还是日常生活 我们都离不开密码设置 很多互联网用户都知道 即便是进行了密码设置 在很多时候我们也并不是那么安全 其实很多黑客之所以成功盗QQ 破解邮箱 往往就是因为我们的密码设置过于简单 如果自己设置的密码被别人猜到或破译 那么
  • vivado 亚稳态_【DNN Weaver FPGA实现】Vivado BRAM资源使用

    1 BRAM配置测试 我们知道Vivado中BRAM大小分为18K和36K两种 这两种BRAM在何种配置下会如何分配资源 需要进行一定的考量 由于Vivado可以配置生成任意bit数的IO位宽 所以我对BRAM配置进行了简单的实验 结果如下
  • AngularJS API

    1 AngularJS API概述 AngularJS 全局 API 用于执行常见任务的 JavaScript 函数集合 如 比较对象 迭代对象 转换对象 全局 API 函数使用 angular 对象进行访问 通用的 API 函数 API
  • 芝诺悖论

    我们先来看一下芝诺悖论的三个经典问题 阿基里斯是古希腊神话中的跑步健将 假设他和乌龟赛跑 他速度为乌龟的10倍 乌龟在前面10米出发 他在后面追 芝诺可以证明 阿基里斯永远不可能追上乌龟 当阿基里斯追到10米时 乌龟已经向前爬了1米 而当他
  • 业务场景——热点数据

    热点数据解决思路 识别热点 1 在代码层面做预热识别 比如给某个接口判断入参是否为热点数据的规则 比如redis过期时间1s 调一次 1但不更新过期时间 若增长量 gt 5则判为热数据 这种方法能更快速的识别热数据 但缺点是业务逻辑复杂 且