在web應用發展的初期,那時關係型資料庫受到了較為廣泛的關注和應用,
原因是因為那時候web站點基本上訪問和併發不高、互動也較少。
而在後來,隨著訪問量的提公升,使用關係型資料庫的web站點多多少少都開始在效能上出現了一些瓶頸,而瓶頸的源頭一般是在磁碟的i/o上。
低延遲的讀寫速度:應用快速地反應能極大地提公升使用者的滿意度相比於其他資料庫型別,redis具備的特點是:支撐海量的資料和流量:對於搜尋這樣大型應用而言,需要利用pb級別的資料和能應對百萬級的流量
大規模集群的管理:系統管理員希望分布式應用能更簡單的部署和管理
龐大運營成本的考量:it部門希望在硬體成本、軟體成本和人力成本能夠有大幅度地降低
為了克服這一問題,nosql應運而生,它同時具備了高效能、可擴充套件性強、高可用等優點,受到廣泛開發人員和倉庫管理人員的青睞。
哪些大廠在使用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,還能優雅地寫 嗎?那我就帶你來回顧一下這一切是怎麼發生的。從哪開始說好呢?我們就從 前端打包 開始吧。前端打包 很久以前 也就五年左右吧,但是五年前端已經大變樣了 頁面的 ...