摘要:使用代理緩存使用代理緩存,主要是一些配置,這里注意當(dāng)緩存數(shù)據(jù)不一致時(shí)如何進(jìn)行刷新??蛻舳私邮盏街螅褂米约旱木彺驿秩緮?shù)據(jù)。在項(xiàng)目中使用很簡(jiǎn)單。使用標(biāo)記的方法會(huì)在方法執(zhí)行前或者將返回結(jié)果放入緩存中。
1,使用nginx代理緩存
使用Nginx代理緩存,主要是一些配置,這里注意當(dāng)緩存數(shù)據(jù)不一致時(shí)如何進(jìn)行刷新。
2,使用304狀態(tài)碼,http的304返回碼使用etag,具體一點(diǎn)就是做個(gè)標(biāo)記,可以理解為版本號(hào)。通過(guò)一定的算法,例如md5摘要進(jìn)行校驗(yàn)。
客戶端第二次進(jìn)行請(qǐng)求的時(shí)候,攜帶etag標(biāo)記,服務(wù)端正常處理,在返回的時(shí)候校驗(yàn)etag,相同的話返回304狀態(tài)碼??梢岳斫鉃檎?qǐng)求成功。沒(méi)有返回?cái)?shù)據(jù)??蛻舳私邮盏街螅褂米约旱木彺驿秩緮?shù)據(jù)。
例如,springboot使用shadowEtagFilter實(shí)現(xiàn)etag功能
很簡(jiǎn)單,在容器中注入一個(gè)Filter,就可以實(shí)現(xiàn)。例如:
對(duì),就是這么簡(jiǎn)單,當(dāng)?shù)诙握?qǐng)求的時(shí)候,將使用客戶端自己的緩存數(shù)據(jù)。
3,使用spring-cache
spring-cache有多個(gè)實(shí)現(xiàn),這里我們使用redis。在springboot項(xiàng)目中使用很簡(jiǎn)單。它主要是作用在方法上的
只需要在應(yīng)用主類中添加@EnableCaching注解。在數(shù)據(jù)獲取部分使用@Cacheble就可以。
如果,有多個(gè)數(shù)據(jù)提供的話,需要配置cachemanager。
這里主要介紹一下,幾個(gè)常用注解的含義:
@Cacheable和@CacheEvict和@CachePut:
使用@Cacheable標(biāo)記的方法在執(zhí)行后Spring Cache將緩存其返回結(jié)果
使用@CacheEvict標(biāo)記的方法會(huì)在方法執(zhí)行前或者執(zhí)行后移除Spring Cache中的某些元素。
使用@CachePut標(biāo)記的方法會(huì)在方法執(zhí)行前或者將返回結(jié)果放入緩存中。
@Cacheable需要注意,與數(shù)據(jù)庫(kù)中數(shù)據(jù)一致的問(wèn)題
使用@CachePut和@CacheEvict需要時(shí)同一個(gè)緩存實(shí)例。相同的key
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/40279.html
摘要:緩存介紹正如大多數(shù)持久層框架一樣,同樣提供了一級(jí)緩存和二級(jí)緩存的支持一級(jí)緩存基于的本地緩存,其存儲(chǔ)作用域?yàn)?,?dāng)或之后,該中的所有就將清空。一級(jí)緩存實(shí)現(xiàn)對(duì)的操作內(nèi)部都是通過(guò)來(lái)執(zhí)行的。 MyBatis緩存介紹 正如大多數(shù)持久層框架一樣,MyBatis 同樣提供了一級(jí)緩存和二級(jí)緩存的支持 一級(jí)緩存: 基于PerpetualCache 的 HashMap本地緩存,其存儲(chǔ)作用域?yàn)?Se...
摘要:時(shí)間年月日星期二說(shuō)明本文部分內(nèi)容均來(lái)自慕課網(wǎng)。返回對(duì)象不同返回持久化實(shí)體類對(duì)象返回代理對(duì)象。與緩存的關(guān)系不同只緩存,但不使用緩存查詢緩存除外會(huì)使用緩存。 時(shí)間:2017年07月11日星期二說(shuō)明:本文部分內(nèi)容均來(lái)自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)源碼:無(wú)學(xué)習(xí)源碼:無(wú) 第一章:概述 1-1 概述 課程內(nèi)容 了解緩存 掌握Hibernate一級(jí)緩存的使用 掌握H...
摘要:由于需要跨進(jìn)程訪問(wèn)網(wǎng)絡(luò)上的高速緩存,因此延遲,故障和對(duì)象序列化會(huì)導(dǎo)致性能下降。應(yīng)用程序高速緩存會(huì)自動(dòng)清除條目以保持其內(nèi)存占用。緩存統(tǒng)計(jì)高速緩存統(tǒng)計(jì)信息可幫助識(shí)別高速緩存的運(yùn)行狀況并提供有關(guān)高速緩存行為和性能的信息。 前言 這篇文章探索了現(xiàn)有的各種JAVA緩存基數(shù),它們對(duì)各種場(chǎng)景下提高應(yīng)用的性能起著重要的作用。 近十年來(lái),信息技術(shù)極高的提升了業(yè)務(wù)流程,它已經(jīng)成為了全球企業(yè)的戰(zhàn)略性方案。它...
摘要:原因是,服務(wù)端在進(jìn)行標(biāo)識(shí)比較后,只返回部分,通過(guò)狀態(tài)碼通知客戶端使用緩存,不再需要將報(bào)文主體部分返回給客戶端。 Http 緩存機(jī)制作為 web 性能優(yōu)化的重要手段,對(duì)于從事 Web 開(kāi)發(fā)的同學(xué)們來(lái)說(shuō),應(yīng)該是知識(shí)體系庫(kù)中的一個(gè)基礎(chǔ)環(huán)節(jié)。在介紹HTTP緩存之前,作為知識(shí)鋪墊,先簡(jiǎn)單介紹一下HTTP報(bào)文 準(zhǔn)備 HTTP報(bào)文就是瀏覽器和服務(wù)器間通信時(shí)發(fā)送及響應(yīng)的數(shù)據(jù)塊。瀏覽器向服務(wù)器請(qǐng)求數(shù)據(jù),...
摘要:總結(jié)允許的緩存寫場(chǎng)景大部分情況,修改成本會(huì)高于增加一次,因此應(yīng)該淘汰緩存如果還在糾結(jié),總是淘汰緩存,問(wèn)題也不大先操作數(shù)據(jù)庫(kù),還是先操作緩存這里分了兩種觀點(diǎn),的觀點(diǎn)沈老師的觀點(diǎn)。這里我覺(jué)得沈老師可能忽略了并發(fā)的問(wèn)題,比如說(shuō)以下情況一個(gè)寫請(qǐng)求 緩存誤用 緩存,是互聯(lián)網(wǎng)分層架構(gòu)中,非常重要的一個(gè)部分,通常用它來(lái)降低數(shù)據(jù)庫(kù)壓力,提升系統(tǒng)整體性能,縮短訪問(wèn)時(shí)間。 有架構(gòu)師說(shuō)緩存是萬(wàn)金油,哪里有問(wèn)...
摘要:總結(jié)允許的緩存寫場(chǎng)景大部分情況,修改成本會(huì)高于增加一次,因此應(yīng)該淘汰緩存如果還在糾結(jié),總是淘汰緩存,問(wèn)題也不大先操作數(shù)據(jù)庫(kù),還是先操作緩存這里分了兩種觀點(diǎn),的觀點(diǎn)沈老師的觀點(diǎn)。這里我覺(jué)得沈老師可能忽略了并發(fā)的問(wèn)題,比如說(shuō)以下情況一個(gè)寫請(qǐng)求 緩存誤用 緩存,是互聯(lián)網(wǎng)分層架構(gòu)中,非常重要的一個(gè)部分,通常用它來(lái)降低數(shù)據(jù)庫(kù)壓力,提升系統(tǒng)整體性能,縮短訪問(wèn)時(shí)間。 有架構(gòu)師說(shuō)緩存是萬(wàn)金油,哪里有問(wèn)...
閱讀 1912·2021-10-20 13:49
閱讀 1433·2019-08-30 15:52
閱讀 2920·2019-08-29 16:37
閱讀 1098·2019-08-29 10:55
閱讀 3137·2019-08-26 12:14
閱讀 1716·2019-08-23 17:06
閱讀 3295·2019-08-23 16:59
閱讀 2604·2019-08-23 15:42