SpringBoot快取使用

2021-10-02 23:50:08 字數 2275 閱讀 1215

org.springframework.boot

spring-boot-starter-cache

專案使用springboot自帶的快取機制實現快取

redis快取

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

membase快取

memcache是乙個自由和開放源**、高效能、分配的記憶體物件快取系統。用於加速動態web應用程式,減輕資料庫負載。

ehcache主要是對資料庫訪問的快取,相同的查詢語句只需查詢一次資料庫,從而提高了查詢的速度,使用spring的aop可以很容易實現這一功能。

頁面端:

h5webstorage

2)localstorage生命週期是永久,這意味著除非使用者顯示在瀏覽器提供的ui上清除localstorage資訊,否則這些資訊將永遠存在。存放資料大小為一般為5mb,而且它僅在客戶端(即瀏覽器)中儲存,不參與和伺服器的通訊

3)sessionstorage僅在當前會話下有效,關閉頁面或瀏覽器後被清除。存放資料大小為一般為5mb,而且它僅在客戶端(即瀏覽器)中儲存,不參與和伺服器的通訊。源生介面可以接受,亦可再次封裝來對object和array有更好的支援

直接把快取存到本地,節省頻寬

可以儲存5m,增大了快取的量,但是快取太多,會導致瀏覽器卡

瀏覽器在隱私模式下取不到

爬蟲不能訪問到

一般把json變成string型別進行儲存

不可以跨域,但是可以通過postmessage、iframe實現跨域資料讀取

cookie

cookie的儲存量比較小,每個domain最多有20條cookie,每條cookie最多4k

cookie是放到了http請求的header裡,如果太大會有效能問題

cookie較安全,但是如果cookie被攔截了,就可以獲取cookie的session。不需要破解,**就可以達到目的了;

存在硬碟的乙個檔案.cookie可以跨越乙個網域名稱下的多個網頁,但不能跨越多個網域名稱使用

oscache主要是對頁面的快取,可以整頁或者指定網頁某一部分快取,同時指定他的過期時間,這樣在此時間段裡面訪問的資料都是一樣的。

http快取

避免快取的方法:

在請求的url後+?rander=隨機數

官方的: 設定請求頭1. data 2. cache-control

終端:cdn快取:

如果應用程式web伺服器離使用者更近,那麼乙個http請求的響應時間將縮短。另一方面,如果元件web伺服器離使用者更近,則多個http請求的響應時間將縮短。

cdn(內容發布網路)是一組分布在多個不同地理位置的web伺服器,用於更加有效地向使用者發布內容。在優化效能時,向特定使用者發布內容的伺服器的選擇基於對網路慕課擁堵的測量。例如,cdn可能選擇網路階躍數最小的伺服器,或者具有最短響應時間的伺服器。

cdn還可以進行資料備份、擴充套件儲存能力,進行快取,同時有助於緩和web流量峰值壓力。

cdn的缺點

響應時間可能會受到其他**流量的影響。cdn服務提供商在其所有客戶之間共享web伺服器組。

如果cdn服務質量下降了,那麼你的工作質量也將下降

無法直接控制項伺服器

@enablecaching // 開啟快取註解【啟動器上】

@cacheable標記的方法上表示該方法支援快取,標記在乙個類上表示該類的所有方法都支援快取。

@cacheput標註的方法在執行前,不會去檢查快取中是否存在之前執行過的結果,而是每次都會執行該方法,並將執行結果以鍵值對的形式存入指定的快取中。

@cacheevict是用來標註在需要清除快取元素的方法或類上的,當標記在乙個類上時表示其中所有的方法的執行都會觸發快取的清除操作。

allentries 屬性allentries 是 boolean 型別,表示是否需要清除快取中的所有元素,預設為 false,表示不需要

beforeinvocation 屬性清除操作預設是在對應方法成功執行之後觸發的,即方法如果因為丟擲異常而未能成功返回時也不會觸發清除操作。

SpringBoot使用Redis快取

1.配置pom檔案 org.springframework.boot spring boot starter data redis org.springframework.boot spring boot starter cache net.sf.ehcache ehcache 2.修改專案啟動類,...

Spring boot 使用註解快取

註解在spring中的應用很廣泛,幾乎成為了其標誌,這裡說下使用註解來整合快取。cache方面的註解主要有以下5個 cacheable 觸發快取入口 這裡一般放在建立和獲取的方法上 cacheevict 觸發快取的eviction 用於刪除的方法上 cacheput 更新快取且不影響方法執行 用於修...

spring boot 中的快取使用

借鑑 專案中用到登入,對使用者的操作太多,所以將使用者的資訊通過快取的方式。快取 ehcache 框架 spring boot 1.專案依賴 org.springframework.boot spring boot starter cache net.sf.ehcache ehcache 2.ehc...