高併發系列之 快取中介軟體Redis

2022-08-12 13:33:12 字數 898 閱讀 6343

1 概念和使用場景

2 基本儲存型別

3 事務

單執行緒執行,即只能保證乙個client發起的事務中的命令可以連續的執行,而中間不會插入其他client的命令。

根據事務的四大特性acid,只保證了原子性、一致性和隔離性

4 如何實現mybatis的二級快取

步驟一:新建乙個類,用於實現org.apache.ibatis.cache.cache介面

步驟三:sql語句中增加標籤如,flushcache=true

4.1 二級快取目的

取資料時,首先從一級快取中取,其次蔥二級快取中,如果二級快取中有資料,則從二級快取中取,否則查詢資料庫。

刪除、更新、增加資料的時候,同時更新快取。

4.2 什麼資料適合存放到二級快取中

5 擴充套件

5.1 快取穿透

查詢快取中不存在的資料,導致直接查詢到資料庫。

解決方案:第一次查詢不存在的資料時,在快取中增加乙個對應的key為空的資料。

5.2 快取雪崩

所有快取在同一時間全部失效,導致了所有請求都直接訪問資料庫。

解決方案:設定執行緒互斥,只讓乙個執行緒構建快取,其他等待快取建立完成後再通過緩訪問資料。或,設定交錯失效時間

5.3 快取擊穿

快取雪崩的乙個特例,不同的是快取雪崩針對全部資料,快取擊穿是特定的熱點資料。

快取方案:二級快取

daisy framework 快取中介軟體

github 實際使用根據自己專案情況,比如常見的快取配置資料,首頁資料,排行榜資料等等。為什麼要用快取,用哪種快取中介軟體,這個應該也是我們在使用前要思考的,而不是追風。使用快取一般解決兩個問題,高效能和高併發。高效能 實在是太慢了。這個時候,可以根據業務情況,這些資料加到快取,2ms 就查詢出來...

快取中介軟體memcached

memcached是乙個免費開源的,高效能的,具有分布式記憶體物件的快取系統,它通過減輕資料庫負載加速動態web應用。本質上就是乙個記憶體key value快取 協議簡單,不支援資料持久化 便於快速開發,上手容易,沒有安全機制 安裝libevent庫。yum install libevent lib...

python淺學 網路服務中介軟體 之Redis

一 關於nosql nosql nosql not only sql 不僅僅是sql 相比mysql等關係型資料庫,nosql為非關係型的資料儲存 nosql中比較火的三個資料庫有 redis memchache mongodb。為什麼使用nosql 為了解決大規模資料集合多重資料種類帶來的挑戰,尤...