国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

關于 Redis ,這里有你不知道的知識

存儲 存儲軟件 Redis
本篇文章不是一篇具體的教程,阿粉打算記錄一下自己對Redis的一些思考。說來慚愧,阿粉剛接觸Redis的時候只是簡單地使用了一下,背了一些面試題,就在簡歷上寫下了Redis這個技能點。

 [[329863]]

前言

本篇文章不是一篇具體的教程,阿粉打算記錄一下自己對Redis的一些思考。說來慚愧,阿粉剛接觸Redis的時候只是簡單地使用了一下,背了一些面試題,就在簡歷上寫下了Redis這個技能點。

我們能在網絡上輕易地找到關于Redis具體知識點的講解,但很少有文字說明為什么會有這項技術,阿粉希望通過本文總結一下個人目前對Redis的理解。

1. 初識Redis

最開始的時候,阿粉是通過網絡上面的一些項目教程了解到Redis的,當時教程里說把首頁數據放到Redis里,能夠加快首頁數據的訪問速度,于阿粉我就照做了。代碼跑起來后,發現好像確實加載得蠻快的,就當完成了。

項目做完后,寫到了簡歷里,順便在技能里寫上熟練使用Redis,再背了幾道關于Redis的數據類型,持久化機制的面試題,便去找實習了。

當時面試的時候面試官問阿粉:你為什么使用Redis呀?

阿粉按照項目教程里說的復述了一遍:因為能讓首頁更快地加載數據,咱們的產品首頁是很重要,越快加載出數據,用戶越滿意......

現在回想起來真是哭笑不得,你也不能說這個回答有問題,Redis用作緩存的一大亮點就是能夠加快數據查詢效率,但是如果從技術面試的角度看,這個回答其實更應該從技術的角度去答,這也是促使阿粉寫這篇文章的沖動之一。

2. 為什么要有Redis這項技術?(你為什么用Redis)

如果現在再被問到為什么要用Redis,阿粉打算從計算機的存儲結構開始聊。

計算機界有一本名書《深入理解計算機系統》,里面有一幅關于計算機存儲結構的圖,非常經典:

由圖可見計算機的存儲器是一個金字塔結構,越上層的存儲器存儲效率越高,越下層的存儲效率越低。而計算機中內存的層級位于磁盤之上,內存的存儲效率要比磁盤快得多。

正常情況下,我們會把應用的數據存放在數據庫中,數據庫把數據存放在磁盤;而Redis是一款基于內存的存儲系統,數據都存在內存里,這就是從Redis讀取數據比從數據庫讀取數據要快的根本原因了。

看到這里你可能會說,把數據存在內存有啥了不起的,我可以用谷歌的guava呀!再不濟,我可以直接new一個HashMap存數據呀,這不都是基于內存的嗎?

這個問題讓我聯想起了我在網上看面經的時候看到的一道題:如果讓你設計一個緩存,你會怎么設計?

大家可以想一下guava和Map集合使用時的缺點是什么?

很明顯一點就是這兩者雖然基于內存,但他們使用的是jvm的內存,如果jvm掛掉或者重啟了,數據也就丟失了。這就能方便我們聯想到Redis的持久化機制,Redis的持久化機制使得內存中的數據能夠持久化到磁盤上,解決內存數據掉電易失的問題,而且Redis是一款中間件,無需依賴于jvm。

(當初我只是死背Redis的持久化機制,并沒有想過為什么。我想搞清楚了這背后的關系后再去學習,能夠學得更扎實一些吧)

再換一個角度:既然數據庫是因為磁盤才慢,那為啥不再內存里實現數據庫呢?

還別說,SAP公司還真有基于內存的數據庫系統,但是使用內存有一個致命的缺點:那就是貴!能買得起那套軟件和巨大內存機器的公司畢竟是少數,所以說為什么要使用Redis,就是因為他在低效的磁盤和昂貴的內存中取了一個折中。

補充:面試的時候還被問到一個問題:Redis的內存淘汰機制

當時直接懵圈了,后來想了一下其實這是一個再正常不過的考點了:Redis把數據存放在內存,內存的空間有限,總會有用完的一天。當內存使用完之后肯定需要有相應的內存淘汰策略來釋放內存。

不過說到內存淘汰,我還想起一個高級點的知識點,由于Redis的內存是有限的,我們使用內存的時候應該更加小心。Redis內部是有許多高效使用內存的招數的,比如說我們存放用戶信息的時候,把用戶信息存成一個hash,要比把用戶信息逐條用key-value存儲占的空間小得多,這些知識你可以在Redid的官網上找到。

3. 關于Redis的主從復制,哨兵,集群

在學習Redis之前,我對分布式的知識了解得非常少。當時為了面試背Redis的面試題,背到有關主從復制,哨兵,集群等知識點的時候,我既興奮又茫然。感覺自己背完后掌握了許多分布式的知識,但是把這些知識點都揉在一起了,根本不知道這背后的邏輯是什么?,F在想通了一些,應該好好記下來:

在擴展到多機之前,我們先想一下單機的Redis有什么缺點:

  1. 有可能出現單點故障,這樣Redis服務就不可用了
  2. 單一臺機器的內存有限,存儲不了太多的數據
  3. 如果訪問量很大的話,單臺機器壓力會很大

通過第一個缺點,我們可以引出為什么需要主從復制和哨兵。大家想一想,如果我們只有一個Redis服務,要是服務掛了就沒法用了,但如果我們安排多一臺Redis服務器,它的數據時刻與第一臺Redis的數據保持一致,這樣當第一臺Redis掛掉后,我們就可以把請求遷移到第二臺Redis上,這樣Redis服務的可用性就提高了。為了讓第二臺Redis的數據與第一臺Redis保持一致,我們就需要用到主從復制。

有時候,可能一主一從的配置還是不夠保險,這個時候我們就要為主節點配置兩個或以上的從節點,那么問題來了,要是主節點掛了,該通過什么方案在從節點中選出新的主節點呢?這就用到了哨兵機制。

而且在一主多從的情況下,我們使用主從復制讓多臺Redis的數據保持一致,這個時候我們就可以把讀請求分攤到從節點上,這樣能有效緩解主節點的讀壓力。

但如果Redis的寫請求壓力也很大,而且數據量很大,這個時候為Redis增加備份機的橫向擴展已經幫不上什么忙了,這個時候我們就要考慮縱向擴展,增加多臺Redis分攤寫請求,讓不同的key落到不同的機器上。這個時候我們就要考慮使用一致性哈希等算法把不同的key分給不同的機器。

Redis自身也提供了集群機制,但內部使用的不是一致性哈希,而是哈希槽。簡單來說就是在哈希槽中劃分不同的區間,不同的區間對應不同的機制;當擴容或縮減的時候有相應的哈希槽調整策略。

我最初學習Redis的多機策略的時候就是搞不清楚集群,主從復制,哨兵機制之間的關系。其實集群就是一套完整的Redis多機解決方案,他有效解決了單機Redis的所有問題。當你在集群中為某個節點配置從機的時候,主從節點間同步用的就是主從復制。主節點掛掉之后,從節點的選取,內部的邏輯就和哨兵機制相似。當我們使用集群機制的時候,就可以省去自己寫類似一致性哈希這樣的分攤邏輯,集群機制會給節點加上相應的數據結構來完成這些功能。

如果想深入了解集群背后的實現原理,我推薦這樣一個學習路線:

首先登錄官網,按照官網的步驟學習配置主從復制,配置哨兵,搭建集群

然后看《Redis的設計與實現》這本書,閱讀主從復制,哨兵和集群這三個章節

4. 后話

阿粉覺得,如果把文章中提到的Redis的點都深入了解一下,Redis基本能算入門了。

寫下這篇感想主要也是想提醒自己,學一項技術的時候多問為什么,這樣知識學到手后不容易忘掉。

至于為什么說只能說是入門Redis,因為Redis的用法實在太多了,你可以把它當作緩存,也可以把它當成數據庫,甚至能把它當作消息隊列。緩存可能大家都很熟悉了,在當數據庫的方面Redis簡直是潛力無限,大家一定要善用它的bitmap位圖功能,簡直能在面對復雜需求的時候玩出花來。比如說老板要統計所有用戶一年中的登錄天數,一個用戶只需要365bit(46B)的空間,相比于用傳統的mysql不知道也節省多少倍的空間。

阿粉覺得,如果能把一項技術長處應用在自己的系統中,才算是用好了這項技術。關于Redis,在實際應用中還有很多東西得靠我們自己探索,加油共勉!

 

責任編輯:武曉燕 來源: Java極客技術
相關推薦

2021-02-01 08:39:26

JTAG接口Jlink

2021-10-09 16:13:40

5G4G手機

2021-07-19 08:33:56

時間復雜度大O

2020-12-08 11:08:55

時間復雜度軟件

2014-03-12 09:23:06

DevOps團隊合作

2019-11-20 10:25:06

sudoLinux

2020-10-28 08:06:09

Vue3框架數據

2020-07-28 08:26:34

WebSocket瀏覽器

2020-06-12 09:20:33

前端Blob字符串

2022-03-28 18:48:42

人工智能AI

2014-10-21 11:17:41

蘋果設計

2024-02-05 11:55:41

Next.js開發URL

2014-03-21 10:23:32

2018-05-08 14:24:50

虛擬化服務器網絡

2015-04-16 11:35:07

大數據大數據迷思

2010-08-23 09:56:09

Java性能監控

2020-03-05 11:10:18

Left join數據庫MySQL

2009-12-10 09:37:43

2022-10-13 11:48:37

Web共享機制操作系統

2011-09-15 17:10:41

點贊
收藏

51CTO技術棧公眾號

2021国产精品视频| yellow视频在线观看一区二区| 性欧美精品孕妇| 精品91一区二区三区| 在线观看av网站永久| 成人午夜激情视频| 国产日韩在线亚洲字幕中文| 精品九九久久| 91精品国模一区二区三区| 国产福利a级| 日韩av一级大片| 九九热hot精品视频在线播放| 日韩制服诱惑| 国产精品天天摸av网| 亚洲一区bb| 国产精品大片| 国产精品99久久久久久白浆小说| 99九九久久| 精品国产露脸精彩对白| 国产精品一区二区三区四区色| 亚洲色图另类专区| 亚洲 中文字幕 日韩 无码| 国内国产精品久久| 亚洲国产综合自拍| 久久久久91| 久久久久久久久一区二区| 日韩精品电影| 日本久久久久久久久久久| 91成人在线网站| 日韩激情视频在线播放| 天堂8中文在线| 欧美狂野另类xxxxoooo| 天堂资源中文在线| 亚洲高清免费视频| 一本色道久久加勒比88综合| 亚洲色图.com| 色琪琪丁香婷婷综合久久| 亚洲国产高清不卡| 久久综合久久色| 成人一区二区三区视频| 国产人妻人伦精品| 懂色av噜噜一区二区三区av| 国产手机视频在线观看| 国产精品888| 一区二区三区毛片| 欧美大尺度激情区在线播放| 99久久精品一区二区成人| 日韩电影第一页| 性感女国产在线| 在线播放国产一区二区三区| 日本久久一区| 色综合视频网站| 国产伦精品一区二区三区在线播放 | 日本丶国产丶欧美色综合| 激情乱色小说视频| 亚洲一区二区三区在线| 色视频在线看| 欧美视频一区二区在线观看| 免费在线午夜视频| 亚洲欧美另类在线观看| 日本一区二区三区中文字幕| 欧美高清在线观看| 精品美女视频| 精选一区二区三区四区五区| 精品写真视频在线观看| 97超碰在线人人| 性欧美videosex高清少妇| 国产午夜亚洲精品不卡| 国产精品久久久久久影院8一贰佰 国产精品久久久久久麻豆一区软件 | 亚洲欧美日韩国产中文| 中文字幕av一区二区三区四区| 69久久夜色精品国产69| 婷婷激情图片久久| 视频一区二区三区在线观看| 99久久国产免费看| 传媒视频在线| 亚洲国产精品美女| 99久久香蕉| 国产另类第一区| 国产精一品亚洲二区在线视频| 波多野结衣天堂| 在线观看免费成人| 国产精品久久久久久吹潮| 国产精品xxxxx| 男人的天堂亚洲在线| 凹凸国产熟女精品视频| 欧美性生交大片免费| 日韩影院在线| 国产成人精品日本亚洲| 国产精品普通话对白| 国产一区二区三区精彩视频| 在线免费av一区| 亚洲精品一区av| 国产福利久久| 国产区在线观看成人精品| caoporn国产精品免费视频| 久久精品国产综合| 伊人久久亚洲影院| av动漫免费看| 日韩欧美成人一区| 欧美禁忌电影| 激情成人开心网| 欧美性猛交一区二区三区精品| 欧美成a人片在线观看久| 国产精品黄页免费高清在线观看| 精品一区二区三区在线播放 | 免费短视频成人日韩| 久久精品aaaaaa毛片| 国产精品久久午夜| 麻豆国产在线| 成人女保姆的销魂服务| 成人av免费在线观看| 99精品老司机免费视频| 色婷婷**av毛片一区| 亚洲午夜激情在线| 国产乱真实合集| www.亚洲一区| 免费人成精品欧美精品| 亚洲尤物在线视频| 97精品免费视频| 成人a区在线观看| av资源中文在线| 草莓视频一区| 亚洲观看高清完整版在线观看 | 成人福利视频网站| 日本网站在线免费观看视频| 97在线视频国产| 丁香网亚洲国际| 成人高潮aa毛片免费| 97人人干人人| 亚洲午夜久久久久久久久久久| 91亚洲精品在看在线观看高清| 亚洲午夜在线观看| 欧美一区二区三区在线视频| 精品国产一区二区三区小蝌蚪 | 91精品国产综合久久福利| 精品在线91| 天天干天天操天天玩| 色偷偷9999www| 国产激情一区二区三区| 亚洲妇熟xxxx妇色黄| 国产欧美日韩一区| 91黄色免费网站| 久久久久午夜电影| 91精品国产乱码| 欧美成人乱码一区二区三区| 国产99久久久国产精品免费看| 手机在线观看av| 美女少妇一区二区| 中文字幕综合在线观看| 成人免费视频a| 男人的天堂成人在线| 日本中文字幕高清视频| 欧美xxxx做受欧美.88| 国产精品中文字幕一区二区三区| 成年人免费在线视频| 成人做爽爽免费视频| 午夜视黄欧洲亚洲| 精品久久一区| 资源视频在线播放免费| 国产精品视频在线播放| 亚洲国产三级在线| 日韩欧美网站| 日本1级在线| 国产v亚洲v天堂无码| 在线观看中文字幕不卡| 亚洲精品四区| 国产黄色在线观看| 午夜午夜精品一区二区三区文| 欧美精品一区二区三区蜜桃| 久久av老司机精品网站导航| 午夜日韩成人影院| 久久成人免费观看| 欧美精品第一页在线播放| 国产精品丝袜久久久久久app| 久久久久97| 精品成人一区| 久久精品免费看| а√天堂资源官网在线资源| 亚洲熟妇国产熟妇肥婆| 成人午夜黄色影院| 欧洲日韩成人av| 亚洲天堂成人在线| 日韩女优毛片在线| 亚洲成av人片在线观看无码| 性国裸体高清亚洲| 成人在线视频福利| 久久综合色8888| 欧美激情自拍偷拍| 日本少妇一区二区| 一区二区三区不卡在线观看| 欧美日韩午夜剧场| 欧美三级免费观看| 亚洲美女动态图120秒| 精品国产一区二区精华| 4438x成人网最大色成网站| 最近2019中文字幕mv免费看 | 国产精品久久久久一区| 亚洲欧美日韩在线| 欧美成人午夜激情在线|