上一節講到redis為了實現三高做的設計,這一節講一下redis的基礎元件,就像spring學習的時候,我們要分析spring的基礎功能和基礎元件,從總體上了解乙個優秀的框架的基本情況。
redis也是乙個優秀的架構,在學習redis的最前面,我們也要線懂得redis的基礎架構,redis是記憶體儲存系統。儲存的資料都是key-value的鍵值對。key都是string型別,value的資料結構多一些,比如常用string,列表,集合,hash表。
redis支援的基本操作,put/get/delete/scan。這四個操作是儲存/查詢/刪除/範圍查詢。
了解了redis支援的資料儲存型別和基本操作,看一下單機版的redis的基礎架構,不包括主從分片路由等元件
仔細一看,redis的模組劃分,感覺跟mysql的差不多,畢竟兩個都是資料儲存,mysql分為聯結器-快取-分析器-優化器-執行器-執行引擎。這樣的好處是解耦。單一職責原則,不同的元件承擔的角色不一樣,實現的功能也不一樣。
講到mysql的時候,想起來一件事兒,mysql在提高查詢效率的時候用到了索引,在索引一節課裡面,我們分析了集中索引資料結構
陣列hash表
b樹b+樹
跳表在分析集中索引的優缺點時,我們講到,hash表可以提供o(1)的訪問速度,但是hash會隨著資料的增大而產生衝突,且沒有順序,不支援範圍查詢。所以在mysql中用到了b+樹,但是hash卻被用在了redis中,一方面是因為hash是基於記憶體的,讀取速度快,支援o(1),第二,hash也是鍵值對,天然支援key-value的資料型別。
redis最重要的是儲存,所以記憶體模組非常重要,在redis的模型中,需要分配記憶體給新的資料,刪除key之後,也要刪除value。而且我們也希望啟動服務的時候能夠快速提供服務,這樣需要我們資料持久化,所以記憶體模組中會有分配器和持久化器兩個部分
redis基礎的基礎
redis非關係型資料庫 c語言開發的高效能鍵值對資料庫 快取,任務佇列,資料過期處理,分布式集群架構中的session分離等 字串string 雜湊hash 字串鍊錶list 字串集合set 有序字串集合sorted set key的定義 1.key的值不要太長,最好不要超過1024個位元組,不僅...
Redis學習(2) redis安裝
yum install gcc c alt r開啟上傳視窗,拖拽redis 3.0.0.tar.gz 上傳 tar zxvf redis 3.0.0.tar.gz進入解壓資料夾 cd redis 3.0.0 執行make make prefix user local redis install上面這...
Redis 基礎(二) 之 Redis 安裝
redis server.exe redis.windows.conf如果想方便的話,可以把 redis 的路徑加到系統的環境變數裡,這樣就省得再輸路徑了,後面的那個 redis.windows.conf 可以省略,如果省略,會啟用預設的。輸入之後,會顯示如下介面 這時候另啟乙個 cmd 視窗,原來...