redis:数据倾斜是什么?怎么应对热点数据?

        要知道什么是数据倾斜就的搞清楚redis是怎么存储和访问数据的。数据会按照一定的规则分布到不同槽上,然后槽又落在不同的机器节点上。比如把key进行crc16函数计算后的值对槽取模,然后槽会分配到不同的节点上。然后存取都会到对应的节点上去进行处理。

        倾斜可以分为两类:

        1,存储倾斜。指不同节点上存储的数据量很不均匀,如一台存的很多,一台存的很少。

        2,访问倾斜。数据存储都差不多,但是访问很倾斜的打到一台节点上。

        为什么会造成存储倾斜呢?

        1,bigkey导致。bigkey的意思就是key的value非常大。存了很大的字符串或者集合。解决办法就是把数据分开存储到多个key上即可。

        2,槽分配不均匀导致。redis有16000多个槽,数据会存储在这些槽上,实际这些槽会分布到具体的实体机器上。这个分配是可以手动的,如果哪台机器性能较好,完全可以多分配些槽上去。

        3,哈希标签(Hash Tag)方式。hashTag的意思是在key中加一对括号。比如user:{123},那么计算槽时就只会用123计算,而不是整个user:{123}计算。

        访问倾斜又是怎么回事呢?

        访问倾斜其实就是典型的热点数据。比如用redis做博客,明星发布了一个什么吃瓜消息后。同时几十万上百万的请求都想看这个新闻,那么这个访问就发生了倾斜。如果请求都打到一台机器上,肯定完蛋。

        怎么应对热点数据?

        其实也是要将数据分开存储到不同的机器上,让更多的机器来抗压力。数据怎么存储多份呢?

key机器
key=热点事件:XX明星结婚:随机key110241
key=热点事件:XX明星结婚:随机key220482
key=热点事件:XX明星结婚:随机key330963

然后访问的时候随机的带上当时存储的随机key就可以把请求分摊到多台机器上了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/697236.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

黑色金属冶炼5G智能工厂数字孪生可视化管控系统,推进金属冶炼行业数字化转型

黑色金属冶炼5G智能工厂数字孪生可视化管控系统,推进金属冶炼行业数字化转型。随着科技的不断发展,数字化转型已经成为各行各业发展的必然趋势。金属冶炼行业作为传统工业的重要组成部分,也面临着数字化转型的挑战和机遇。为了推进金属冶炼行…

在 Windows 上使用 VC++ 编译 OpenSSL 源码的步骤

在 Windows 上使用 VC 编译 OpenSSL 源码的步骤如下: 准备工作 安装 Visual Studio 2017 或更高版本。安装 Perl 脚本解释器。安装 NASM 汇编器。 编译步骤 下载 OpenSSL 源码。解压 OpenSSL 源码。打开命令行工具,并进入 OpenSSL 源码目录。运行以下…

Sublime text 3 配置

1.下载 打开官网链接:Download - Sublime Text或者去百度软件中心搜索sublimeText3(根据自己的实际情况下载对应的版本) 2.安装: 双击上一步下载下来的“Sublime Text Build 3083 x64 Setup.exe”,记得选择“Add to…

IT资讯——全速推进“AI+鸿蒙”战略布局!

文章目录 每日一句正能量前言坚持长期研发投入全速推进“AI鸿蒙”战略 人才战略新章落地持续加码核心技术生态建设 后记 每日一句正能量 人总要咽下一些委屈,然后一字不提的擦干眼泪往前走,没有人能像白纸一样没有故事,成长的代价就是失去原来…

2023 龙蜥操作系统大会演讲实录:《兼容龙蜥的云原生大模型数据计算系统——πDataCS》

本文主要分三部分内容:第一部分介绍拓数派公司,第二部分介绍 πDataCS 产品,最后介绍 πDataCS 与龙蜥在生态上的合作。 杭州拓数派科技发展有限公司(简称“拓数派”,英文名称“OpenPie”)是国内基础数据计…

论文发表 | 顶会顶刊的实验是如何炼成的

前言:Hello大家好,我是小哥谈。在计算机科学研究领域,尤其是当你追求顶级会议和期刊的发表时,没有什么⽐实验设计更关键了。为什么这么说?理由很简单。实验不仅仅是你⽤来 检验假设的⼿段,它更是审稿⼈会重点关注和阅读的部分,也是你验证⾃⼰研究多么创新、多么重要的内…

0221 解决万得导出数据excel无法python读入的问题

报错如下&#xff1a; TypeError: <class openpyxl.styles.named_styles._NamedCellStyle>.name should be <class str> but value is <class NoneType> 原因分析&#xff1a; 万得导出的xlsx带有某些格式&#xff0c;比如首行加粗&#xff0c;excel桌面端工…

Linux之用户和用户组

目录 一、简介 1.1 用户账号分类 二、用户 2.1 useradd 2.2 userdel 2.3 usermod 2.4 passwd 2.5 su 2.6 登出 三、用户组 3.1 groupadd 3.2 groupdel 3.3 groupmod 3.4 newgrp 四、用户账号系统 4.1 /ect/passwd 4.2 常见的伪用户如下所示 五、思维导图 …

自动驾驶---Motion Planning之LaneChange

1 背景 在Apollo中,有比较多的Decider(决策器),上篇博客《自动驾驶---Motion Planning之Decider》中笔者也大概介绍了每个Deicder的作用。 本篇博客笔者主要介绍换道的决策内容,因为在自动驾驶中(严格意义上来讲,目前还属于辅助驾驶),变道的灵活性是用户评价该功能是否…

安装和配置awscli

1、 安装awscli curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip ./aws/install ln -s /usr/local/bin/aws /usr/bin/aws安装完成&#xff0c;检查awscli版本号 aws --version输出内容 aws-cli…

igolang学习3,golang 项目中配置gin的web框架

1.go 初始化 mod文件 go mod init gin-ranking 2.gin的crm框架 go get -u github.com/gin-gonic/gin 3.go.mod爆红解决

Odoo17 不再支持视图中的attrs和states

在最新的视图设计中&#xff0c;属性写法发生了改变。以前我们使用的attrs和states属性不再被支持&#xff0c;因此在现有模块的视图中&#xff0c;之前写在attrs属性中的invisiable、readonly、required等属性需要全部拆分成独立的属性表达式。 odoo17之前的写法 <field …

回调函数(Language C)

#源于指针的深入学习 对于回调函数&#xff0c;其实我们只需要了解一下函数指针即可使用回调函数了 什么是回调函数&#xff1f; 通俗的来讲&#xff0c;它是一个函数指针变量&#xff08;注意&#xff1a;它不是指针函数&#xff0c;它们是不同的一个概念&#xff09; 函数…

靡语IT:JavaScript_概述、基础

一、JavaScript 概述 javaScript 语言主要是完成页面的数据验证&#xff0c;因此它运行在客户端&#xff0c; 需要运行浏览器来解析执行 JavaScript 代码。js 是网景公司 &#xff08;Netscape&#xff09;的产品&#xff0c;最早取名为 LiveScript 最后借 java 的热度 改为 j…

C++多线程同步(上)

多线程同步 引言总述详情互斥锁示例运行结果分析条件变量示例一实现分析优化运行结果示例二实现代码运行结果示例三实现代码运行结果读写锁示例实现代码注意分析运行结果附言实现运行结果运行结果个人心得引言 项目中使用多线程,会遇到两种问题,一种是对共享资源的访问时需要…

关于运行flutter app 运行到模拟器出现异常提示

Exception: Gradle task assembleDebug failed with exit code 1 解决方案&#xff1a; 1.讲当前文件的distributionUrl值改为 https://mirrors.cloud.tencent.com/gradle/gradle-7.4-all.zip

Redis 学习笔记 3:黑马点评

Redis 学习笔记 3&#xff1a;黑马点评 准备工作 需要先导入项目相关资源&#xff1a; 数据库文件 hmdp.sql后端代码 hm-dianping.zip包括前端代码的 Nginx 启动后端代码和 Nginx。 短信登录 发送验证码 PostMapping("code") public Result sendCode(RequestP…

超市售货|超市售货管理小程序|基于微信小程序的超市售货管理系统设计与实现(源码+数据库+文档)

超市售货管理小程序目录 目录 基于微信小程序的超市售货管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、微信小程序前台 2、管理员后台 &#xff08;1&#xff09;商品管理 &#xff08;2&#xff09;出入库管理 &#xff08;3&#xff09;公告管理 …

CrossOver2024虚拟机软件的优缺点分别是什么?

CrossOver虚拟机软件的优缺点分别如下&#xff1a; 优点&#xff1a; 无需双系统&#xff1a;用户可以在Mac或Linux系统上直接运行Windows应用程序&#xff0c;无需安装双系统&#xff0c;从而节省了硬盘空间并避免了系统切换的麻烦。易于安装和使用&#xff1a;CrossOver具有…

文件上传---->生僻字解析漏洞

现在的现实生活中&#xff0c;存在文件上传的点&#xff0c;基本上都是白名单判断&#xff08;很少黑名单了&#xff09; 对于白名单&#xff0c;我们有截断&#xff0c;图片马&#xff0c;二次渲染&#xff0c;服务器解析漏洞这些&#xff0c;于是今天我就来补充一种在upload…