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.pswp.cn/news/697236.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697236.shtml
英文地址,請注明出處:http://en.pswp.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…