Redies基礎篇(一)

? ? ? ? Redis 是一個高性能的key-value數據庫。Redies支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)和zset(有序集合)。這些數據類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的,redis支持各種不同方式的排序。

? ? ? ? 對于數據庫而言,MySQL不就是很好的選擇嗎?為什么還要搞Redies?

? ? ? ? MySQL最大的問題在于,訪問速度比較慢,因為很多互聯網產品中,對于性能要求是很高的。這是相對而言的,只有在使用中才能感受得到。Redies和MySQL相比最大的劣勢就是存儲空間是有限的。

? ? ? ? 那將Redies和MySQL相結合性能方面相互彌補能否發揮更好的效果?

? ? ? ? 這樣會大大提升系統復雜程度,而且如果數據發生修改,還會涉及到Redies和MySQL之間的數據同步問題。

? ? ? ? Redies是在分布式系統中,才能發揮威力的~~
? ? ? ? 如果只是單機程序,直接通過變量存儲數據的方式,是比使用Redies更優的選擇。

首先讓我們來了解一下,“單機架構”。

那什么是單機架構,單機架構就是一臺服務器負責所有工作。

眾所周知,計算機的資源是有限的,總會有耗盡的時候。

?當訪問量增大,數據量增大,就會消耗大量的計算機資源。

比如說:CPU,服務器每次收到一個請求,都會消耗CPU的資源,如果同一時刻,有大量的訪問,CPU資源不夠用怎么辦。

如果系統資源不夠用,我們應該怎樣處理?

1,節流:就是軟件優化(憑借程序員的深厚經驗去測試性能,找到那個環節出錯或者達到性能瓶頸,去調整)

2,開源:就是增加更多的資源(你不是缺少資源嗎,那就給你增加資源)

一個主機上面能增加的硬件資源是有限的,這取決于主板的擴展能力,那如果增加到主板的極限還是不夠那又該怎樣處理。

那就再引入一臺機器,這樣可以解決問題嗎?答案是:可以。

但是這也會引入新的問題,這樣做需要對軟件做出相應的調整和適配。一旦引入多臺主機,這個系統就是”分布式系統“,上面的各種性能資源問題告訴我們,我們這樣做是沒有辦法的辦法。

引入分布式,系統的復雜程度會大大提高,Bug出現的概率也會變高,后期維護也隨之升高。

分布式系統:

?

? ? ? ? 上圖的應用服務器和存儲服務器,是獨立的機器,也就是分布式系統,將大量的資源集中起來,共同解決資源短缺的問題。
例如:當前有1W條請求,負載均衡算法(不同的算法會產生不同的效果)會將這些請求較均勻的分布給每一個應用服務器(可以有多臺服務器),這樣該系統的資源也就得到了相對的緩解。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/41464.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/41464.shtml
英文地址,請注明出處:http://en.pswp.cn/web/41464.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【ETABS】【RHINO】案例:Swallow to ETABS

文章目錄 01. Swallow Overview總覽1 LOAD:Defination of LoadCase、Response Combo2 SectionArea Section and Area Load(面截面定義與指定,面荷載指定)Frame Section with rebarattr and linear load(帶鋼筋屬性框架…

下載,連接mysql數據庫驅動(最詳細)

前言 本篇博客,我講講如何連接數據庫?我使用mysql數據庫舉例。 目錄 下載對應的數據庫jar 包 百度網盤 存有8.4.0版本壓縮包:鏈接:https://pan.baidu.com/s/13uZtXRmuewHRbXaaCU0Xsw?pwduipy 提取碼:uipy 復制這…

STM32-TIM定時器

本內容基于江協科技STM32視頻內容,整理而得。 文章目錄 1. TIM1.1 TIM定時器1.2 定時器類型1.3 基本定時器1.4 通用定時器1.4 高級定時器1.5 定時中斷基本結構1.6 預分頻器時序1.7 計數器時序1.8 計數器無預裝時序1.9 計數器有預裝時序1.10 RCC時鐘樹 2. TIM庫函數…

前端面試題11(淺談JavaScript深拷貝與淺拷貝)

在JavaScript中,數據的復制可以分為淺拷貝(Shallow Copy)和深拷貝(Deep Copy)。這兩種拷貝方式主要區別在于如何處理對象中的嵌套對象。下面我會詳細解釋這兩者的概念、區別,并提供相應的實現代碼。 淺拷貝…

【機器學習實戰】Datawhale夏令營:Baseline精讀筆記2

# AI夏令營 # Datawhale # 夏令營 在原有的Baseline上除了交叉驗證,還有一種關鍵的優化方式,即特征工程。 如何優化特征,關系著我們提高模型預測的精準度。特征工程往往是對問題的領域有深入了解的人員能夠做好的部分,因為我們要…

鏈式二叉樹oj題

1.輸入k ,找第k層節點個數 int TreeKlevel(BTNode*root,int k) {if (root NULL) {return 0;}if (k 1) {return 1;}return TreeKlevel(root->left, k - 1)TreeKlevel(root->right, k - 1); } 在這里我們要確定遞歸子問題,第一個就是NULL時返回&…

26_嵌入式系統網絡接口

以太網接口基本原理 IEEE802標準 局域網標準協議工作在物理層和數據鏈路層,其將數據鏈路層又劃分為兩層,從下到上分別為介質訪問控制子層(不同的MAC子層,與具體接入的傳輸介質相關),邏輯鏈路控制子層(統一的LLC子層,為上層提供統…

非同步升壓轉換器,效率95%你信嗎?ETA1611輸出電流2A, 22V DCDC

前言: 截止24年7月7日某創報價:500: ¥0.7856 / 個 建議使用前同時了解下方器件。 2毛錢的SOT23-5封裝28V、1.5A、1.2MHz DCDC轉換器用于LCD偏置電源和白光LED驅動等MT3540升壓芯片 描述 ETA1611 SOT23-6封裝 絲印GVYW&#xff0…

c進階篇(三):字符串函數

1.strlen: strlen - C Reference strlen 函數是一個標準庫函數&#xff0c;用于計算以 null 結尾的字符串的長度&#xff0c;也就是字符串中實際字符的數量&#xff0c;不包括最后的 null 終止符 \0。它定義在 <string.h> 頭文件中。 函數原型:size_t strlen(const ch…

一篇就夠了,為你答疑解惑:鋰電池一階模型-在線參數辨識(附代碼)

鋰電池一階模型-在線參數辨識 背景在線 VS 離線 參數辨識遞推最小二乘法一階戴維南Z域離散表達式 背景 鋰電池一階戴維南等效模型的基礎知識和離線辨識方法&#xff0c;已經在上一期非常詳細地講解了一輪&#xff08;上期文章請戳此處&#xff09;&#xff0c;本期繼續講解一下…

【數據結構】經典鏈表題目詳解集合(反轉鏈表、相交鏈表、鏈表的中間節點、回文鏈表)

文章目錄 一、反轉鏈表1、程序詳解2、代碼 二、相交鏈表1、程序詳解2、代碼 三、鏈表的中間節點1、程序詳解2、代碼 四、回文鏈表1、程序詳解2、代碼 一、反轉鏈表 1、程序詳解 題目&#xff1a;給定單鏈表的頭節點 head &#xff0c;請反轉鏈表&#xff0c;并返回反轉后的鏈…

理解注意力機制與多頭注意力:深度學習中的“聚焦術”

Attention 理解注意力機制與多頭注意力&#xff1a;深度學習中的“聚焦術”什么是注意力機制&#xff1f;**核心思想** 什么是多頭注意力機制&#xff1f;**工作原理** **多頭注意力的優勢****應用領域****結論** 理解注意力機制與多頭注意力&#xff1a;深度學習中的“聚焦術”…

MLIR

方言 簡介操作塊區域值范圍Control Flow and SSACFG Regions 操作與多區域&#xff08;Operations with Multiple Regions&#xff09;閉包&#xff08;Closure&#xff09;圖形區域&#xff08;Graph Regions&#xff09;參數和結果&#xff08;Arguments and Results&#xf…

vscode編輯keil工程

1.編碼問題 通常keil默認amsi格式&#xff0c;vscode默認utf-8格式&#xff0c;直接打開會出現亂碼問題。 解決過程&#xff1a; 1.想著創建keil階段&#xff0c;就使用utf-編碼格式。 在區域設置里面“選擇beta版&#xff0c;提供全球utf-8 提供全球語言支持”&#xff0c…

JVM專題之內存模型以及如何判定對象已死問題

體驗與驗證 2.4.5.1 使用visualvm **visualgc插件下載鏈接 :https://visualvm.github.io/pluginscenters.html https://visualvm.github.io/pluginscenters.html **選擇對應JDK版本鏈接--->Tools--->Visual GC** 2.4.5.2 堆內存溢出 * **代碼** java @RestCont…

從0制作自己的ros導航小車(01、準備工作)

@TOC 前言 本篇說明需要具備的知識和軟硬件。可以不用全部具備,但基礎要有,寫的不是非常詳細。 本小車分為上位機與下位機兩部分,上位機使用旭日x3派運行ros進行開發和算法實現,下位機使用stm32驅動底盤和傳感器數據采集。 一、知識 ①stm32部分(當然也可以使用其它控制…

uniapp/Android App上架三星市場需要下載所需要的SDK

只需添加以下一個權限在AndroidManifest.xml <uses-permission android:name"com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY"/>uniapp開發的&#xff0c;需要在App權限配置中加入以上的額外權限&#xff1a;

1958.力扣每日一題7/7 Java(100%解)

博客主頁&#xff1a;音符猶如代碼系列專欄&#xff1a;算法練習關注博主&#xff0c;后期持續更新系列文章如果有錯誤感謝請大家批評指出&#xff0c;及時修改感謝大家點贊&#x1f44d;收藏?評論? 目錄 思路 解題方法 時間復雜度 空間復雜度 Code 思路 首先將指定位…

游戲開發面試題5

什么是進程、線程、協程 進程 進程是計算機的一種基本運行單位&#xff0c;由操作系統管理資源和分配資源的基本單位&#xff0c;進程可以理解為一個正在運行的程序 線程 線程是計算機的一種獨立執行單元&#xff0c;是操作系統能夠進行運算調度的基本單位&#xff0c;線程之間…

排序 -- 手撕歸并排序(遞歸和非遞歸寫法)

一、基本思想 歸并排序&#xff08;MERGE-SORT&#xff09;是建立在歸并操作上的一種有效的排序算法,該算法是采用分治法&#xff08;Divide and Conquer&#xff09;的一個非常典型的應用。將已有序的子序列合并&#xff0c;得到完全有序的序列&#xff1b;即先使每個子序列有…