1. 程式人生 > >Redis快取機制

Redis快取機制

Redis介紹

Redis是一款記憶體快取記憶體資料庫;

資料模型為:key - value,非關係型資料庫使用的儲存資料的格式;

可持久化:將記憶體資料在寫入之後按照一定格式儲存在磁碟檔案中,宕機、斷電後可以重啟redis時讀取磁碟中檔案恢復快取資料;

分散式:當前任務被多個節點切分處理,叫做分散式處理一個任務。單個伺服器記憶體,磁碟空間有限,無法處理海量的快取資料,必須支援分散式的結構;

nosql:not only structured query language 不僅僅結構化查詢語言

  結構化資料:有規律的一類資料;例如:人的資訊,動物資訊,考試資訊

  非結構化資料

:海量的不具備任何共同特性的資料集合;例如:網頁,日誌;圖片

  關係型資料庫:體現不同類結構化資料之間的關係的資料,例如ORACLE mysql

  非關係型資料庫:儲存的是非結構化的海量資料;無法體現資料的關係;例如 mongoDB redis

Redis快取

資料庫快取:

sql語句時key值,查詢結果resultSet是value,當同一個查詢語句訪問時(select * from t_product),只要曾經查詢過,呼叫快取直接返回resultSet,節省了資料庫讀取磁碟資料的時間。

持久層快取:

減少了連線資料庫的時間;減少了resultSet封裝成物件的過程。

業務層和控制層的快取:

減少呼叫層次。

描述快取在業務層的邏輯:

查詢商品資訊

判斷當前查詢在快取是否有資料

  如果有資料,直接返回,當前請求結束;

  如果沒有資料,查詢持久層資料庫資料,獲取資料儲存再快取一份,供後續訪問使用;

快取雪崩/快取擊穿

海量請求訪問伺服器,伺服器的效能由快取支撐,一旦一定範圍的快取資料未命中,請求的資料訪問湧入資料庫;承受不了壓力造成宕機--重啟--海量請求並未消失--宕機--重啟,系統長時間不可用;這種情況就是快取的雪崩。