免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Spring 思維導(dǎo)圖,讓 Spring 不再難懂(cache篇)


關(guān)于緩存


緩存是實(shí)際工作中非常常用的一種提高性能的方法。而在java中,所謂緩存,就是將程序或系統(tǒng)經(jīng)常要調(diào)用的對(duì)象存在內(nèi)存中,再次調(diào)用時(shí)可以快速從內(nèi)存中獲取對(duì)象,不必再去創(chuàng)建新的重復(fù)的實(shí)例。這樣做可以減少系統(tǒng)開銷,提高系統(tǒng)效率。

在增刪改查中,數(shù)據(jù)庫查詢占據(jù)了數(shù)據(jù)庫操作的80%以上,而非常頻繁的磁盤I/O讀取操作,會(huì)導(dǎo)致數(shù)據(jù)庫性能極度低下。而數(shù)據(jù)庫的重要性就不言而喻了:

  • 數(shù)據(jù)庫通常是企業(yè)應(yīng)用系統(tǒng)最核心的部分

  • 數(shù)據(jù)庫保存的數(shù)據(jù)量通常非常龐大

  • 數(shù)據(jù)庫查詢操作通常很頻繁,有時(shí)還很復(fù)雜

在系統(tǒng)架構(gòu)的不同層級(jí)之間,為了加快訪問速度,都可以存在緩存


spring cache 特性與缺憾


現(xiàn)在市場上主流的緩存框架有ehcache、redis、memcached。spring cache可以通過簡單的配置就可以搭配使用起來。其中使用注解方式是最簡單的。


Cache 注解


從以上的注解中可以看出,雖然使用注解的確方便,但是缺少靈活的緩存策略,

緩存策略:

  • TTL(Time To Live ) 存活期,即從緩存中創(chuàng)建時(shí)間點(diǎn)開始直到它到期的一個(gè)時(shí)間段(不管在這個(gè)時(shí)間段內(nèi)有沒有訪問都將過期)

  • TTI(Time To Idle) 空閑期,即一個(gè)數(shù)據(jù)多久沒被訪問將從緩存中移除的時(shí)間

項(xiàng)目中可能有很多緩存的TTL不相同,這時(shí)候就需要編碼式使用編寫緩存。

條件緩存


根據(jù)運(yùn)行流程,如下@Cacheable將在執(zhí)行方法之前( #result還拿不到返回值)判斷condition,如果返回true,則查緩存; 

如下@CachePut將在執(zhí)行完方法后(#result就能拿到返回值了)判斷condition,如果返回true,則放入緩存

 如下@CachePut將在執(zhí)行完方法后(#result就能拿到返回值了)判斷unless,如果返回false,則放入緩存;(即跟condition相反)

如下@CacheEvict, beforeInvocation=false表示在方法執(zhí)行之后調(diào)用(#result能拿到返回值了);且判斷condition,如果返回true,則移除緩存;

小試牛刀,綜合運(yùn)用:


配置 ehcache 與 redis


spring cache集成ehcache,spring-ehcache.xml主要內(nèi)容:

spring cache集成redis,spring-redis.xml主要內(nèi)容:

項(xiàng)目中注解緩存只能配置一個(gè),所以可以通過以下引入哪個(gè)配置文件來決定使用哪個(gè)緩存。

當(dāng)然,可以通過其他配置搭配使用兩個(gè)緩存機(jī)制。比如ecache做一級(jí)緩存,redis做二級(jí)緩存。

更加詳細(xì)的使用與配置,可以參考項(xiàng)目中spring-shiro-training中有關(guān)spring cache的配置:https://git.oschina.net/wangzhixuan/spring-shiro-training.git


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
統(tǒng)一緩存帝國,實(shí)戰(zhàn) Spring Cache!
Spring Boot中的緩存支持(一)注解配置與EhCache使用
Redis集群服務(wù)器
springMVC集成緩存框架Ehcache
Spring Boot Cache 配合 Redis 使用時(shí),向數(shù)據(jù)庫添加新記錄成功后,相應(yīng)更新緩存的正確方法?
Springboot中Spring-cache與redis整合
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服