redis 發展史 應用場景

2022-05-17 08:08:07 字數 1330 閱讀 5350

在web應用發展的初期,那時關係型資料庫受到了較為廣泛的關注和應用,

原因是因為那時候web站點基本上訪問和併發不高、互動也較少。

而在後來,隨著訪問量的提公升,使用關係型資料庫的web站點多多少少都開始在效能上出現了一些瓶頸,而瓶頸的源頭一般是在磁碟的i/o上。

低延遲的讀寫速度:應用快速地反應能極大地提公升使用者的滿意度

支撐海量的資料和流量:對於搜尋這樣大型應用而言,需要利用pb級別的資料和能應對百萬級的流量

大規模集群的管理:系統管理員希望分布式應用能更簡單的部署和管理

龐大運營成本的考量:it部門希望在硬體成本、軟體成本和人力成本能夠有大幅度地降低

為了克服這一問題,nosql應運而生,它同時具備了高效能、可擴充套件性強、高可用等優點,受到廣泛開發人員和倉庫管理人員的青睞。

相比於其他資料庫型別,redis具備的特點是:

哪些大廠在使用redis?

redis 的應用場景包括:快取系統(「熱點」資料:高頻讀、低頻寫)、計數器、訊息佇列系統、排行榜、社交網路和實時系統。

redis提供的資料型別主要分為5種自有型別和一種自定義型別,這5種自有型別包括:string型別、雜湊型別、列表型別、集合型別和順序集合型別。

對每種資料型別,redis都提供了豐富的操作命令,如:

該型別是由field和關聯的value組成的map。其中,field和value都是字串型別的。

hash的操作命令如下:

該型別是乙個插入順序排序的字串元素集合, 基於雙鏈表實現。

list的操作命令如下:

set型別是一種無順序集合, 它和list型別最大的區別是:集合中的元素沒有順序, 且元素是唯一的。

set型別的底層是通過雜湊表實現的,其操作命令為:

set型別主要應用於:在某些場景,如社交場景中,通過交集、並集和差集運算,通過set型別可以非常方便地查詢共同好友、共同關注和共同偏好等社交關係。

順序集合型別:

zset是一種有序集合型別,每個元素都會關聯乙個double型別的分數權值,通過這個權值來為集合中的成員進行從小到大的排序。與set型別一樣,其底層也是通過雜湊表實現的。

zset命令:

redis的資料結構如下圖所示:

IT薪水發展史

1k 兄弟別做it了,不論你是什麼公司,國營的做it就是配角,那位兄弟願意一輩子做配角,非國營的嗎,看看做什麼別的合適,it不好混,趁早離開 1k 3k 初級階段,一般是剛進公司的,肯定非常缺錢,這時候動力足,也有時間,沒有男 女朋友拖累,象公司內部5k 6k的高手學習。什麼,沒有,什麼爛公司,你也...

記憶體發展史

記憶體 容量 指標 時期出現原因 simm記憶體 30pin 256kb 1982年至今 軟體程式和新一代80286硬體平台的出現 simm記憶體 72pin 512kb 2mb 1988 1990 pc迎來386和486時代,cpu向16bit發展 edo dram 4 16mb 電壓 5v 頻寬...

前端發展史

不知道什麼時候開始,前端開發已經到了不開乙個 watcher 就無法工作的地步了。不依賴 gulp babel webpack,還能優雅地寫 嗎?那我就帶你來回顧一下這一切是怎麼發生的。從哪開始說好呢?我們就從 前端打包 開始吧。前端打包 很久以前 也就五年左右吧,但是五年前端已經大變樣了 頁面的 ...