業務場景:實時性要求不高的查詢
如果用redis做mysql的快取,key-value中的值為乙個屬性-屬性值組成的hashmap,鍵的定義是個難點。
鍵應該盡可能與mysql查詢的條件相關,請求呼叫的方法(controller裡分發)+對應的查詢引數就可以唯一的確定查詢條件,如如:/listusers.do?name=***&curpage=1 ,也可以方法名加引數值,
這樣redis可以快速根據鍵的特性快速地篩選出value的集合。
hibernate中的一級快取(預設存在)也稱為session級別快取,不是用來提公升效能,而是用來處理事務的;二級快取為sessionfactory快取,對所有session都有效,生命週期與sessionfactory相同(sessionfactory是單例,而且專案啟動時候就會建立)
mybatis自身的快取機制只能支援單機,對於分布式應用(多台伺服器)失效,redis就是為了分布式快取而誕生的。
熱點資訊只用session儲存為什麼不可以?
session只能解決單使用者問題,我們要解決的是多使用者問題。
關於Redis快取
什麼是快取穿透 有人惡意請求快取中存在的key,或者key集體過期,導致大量流量直接打到資料庫,資料庫肯定扛不住 解決方案 用布隆過濾器 什麼是快取雪崩 快取掛了,導致大量流量直接打到資料庫,資料庫肯定扛不住 解決方案 事前 redis主從 哨兵 集群部署 事中 mysql做限速和降級處理,超過處理...
關於redis清除快取
關於redis清除快取 linux 1.訪問redis根目錄 cd usr local redis 4.0.2。2.登入redis redis cli h 127.0.0.1 p 6379。3.檢視所有key值 keys 4.清空整個 redis 伺服器的資料 flushall 5.清空當前庫中的所...
關於用redis快取物件
我們知道redis可以儲存的資料結構比memcached多,它包含hash,list等等 但是如果,我有乙個person物件,裡面兩個變數,username,password,我想儲存乙個person物件呢?那很簡單呀,要麼使用pb把它序列化,要麼把物件轉成json字串 從速度上講pb要比json快...