redis學習-1

1、什麼是Redis
Redis本質上是一個Key-Value類型的內存數據庫,整個數據庫統統加載在內存當中進行操作,定期通過異步操作把數據庫數據flush到硬盤上進行保存。因爲是純內存操作,Redis的性能非常出色,每秒可以處理超過 10萬次讀寫操作,是已知性能最快的Key-Value DB。支持保存多種數據結構,Redis適合的場景主要侷限在較小數據量的高性能操作和運算上。
2、Redis支持的數據類型
String、List、Set、Sorted Set、hashes
3、Redis的幾種數據淘汰策略
noeviction
返回錯誤當內存限制達到並且客戶端嘗試執行會讓更多內存被使用的命令(大部分的寫入指令,但DEL和幾個例外)
allkeys-lru
嘗試回收最少使用的鍵(LRU),使得新添加的數據有空間存放。
volatile-lru
嘗試回收最少使用的鍵(LRU),但僅限於在過期集合的鍵,使得新添加的數據有空間存放。
allkeys-random:
回收隨機的鍵使得新添加的數據有空間存放。
volatile-random
回收隨機的鍵使得新添加的數據有空間存放,但僅限於在過期集合的鍵。
volatile-ttl
回收在過期集合的鍵,並且優先回收存活時間(TTL)較短的鍵,使得新添加的數據有空間存放。
4、Redis常見集羣方案
主從模式:master負載讀寫操作,爲了分擔主節點壓力,slave節點分擔master的讀操作壓力,所以主從模式slave只讀。
哨兵模式:哨兵模式本質上是基於主從模式,優點在於通過哨兵的選舉,可以實現主從切換,避免主從模式主節點宕機後,導致數據不同步等問題。
redis-cluster:redis3.0以上版本加入了cluster模式,實現了redis分佈式存儲數據,極大的提高了存儲,也就避免了大量浪費內存。每個節點都存在兩個東西,插槽slot和cluseter,通過crc16的算法,使我們存儲的每一個key對應一個編號在16383下面的slot,從而到達對應的節點,進行操作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章