一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - 使用SpringCache進(jìn)行緩存數(shù)據(jù)庫查詢方式

使用SpringCache進(jìn)行緩存數(shù)據(jù)庫查詢方式

2022-03-03 00:47牧碼ya Java教程

這篇文章主要介紹了使用SpringCache進(jìn)行緩存數(shù)據(jù)庫查詢方式,具有很好的參考價(jià)值,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

SpringCache進(jìn)行緩存數(shù)據(jù)庫查詢

1、在SpringBoot的啟動類上添加注解@EnableCaching

開啟SpringCache緩存支持

@SpringBootApplication
// 開啟SpringCache緩存支持
@EnableCaching
public class GatheringApplication {
  public static void main(String[] args) {
      SpringApplication.run(GatheringApplication.class, args);
  }
}

2、在service的方法上添加對應(yīng)的注解

/**
* 根據(jù)ID查詢
*
* @param id
* @return
*/
// 使用SpringCache進(jìn)行緩存數(shù)據(jù)庫查詢
@Cacheable(value = "gathering", key = "#id")
public Gathering findById(String id) {
return gatheringDao.findById(id).get();
}
/**
* 修改
*
* @param gathering
*/
// 修改數(shù)據(jù)庫數(shù)據(jù)后需要刪除redis中的緩存
@CacheEvict(value = "gathering", key = "#gathering.id")
public void update(Gathering gathering) {
gatheringDao.save(gathering);
}
/**
* 刪除
*
* @param id
*/
// 刪除數(shù)據(jù)庫數(shù)據(jù)后需要刪除redis中的緩存
@CacheEvict(value = "gathering", key = "#id")
public void deleteById(String id) {
gatheringDao.deleteById(id);
}

 

SpringCache 數(shù)據(jù)庫一致性問題

緩存和數(shù)據(jù)庫不一致的問題

先更新數(shù)據(jù)庫,再更新緩存

使用SpringCache進(jìn)行緩存數(shù)據(jù)庫查詢方式

先更新數(shù)據(jù)庫更新成功了,但是更新redis的時(shí)候失敗了,這就導(dǎo)致了數(shù)據(jù)庫和Redis里面的數(shù)據(jù)不一致,

解決辦法

先更新緩存,再更新數(shù)據(jù)庫,更新緩存的時(shí)候,先刪除緩存,再去更新數(shù)據(jù)庫,再添加緩存 這樣的話即使緩存更新失敗了 緩存里面的數(shù)據(jù)也被刪了,如果刪除緩存都失敗的話,就不更新數(shù)據(jù)庫了,直接拋異常解決,這時(shí)候如果后面一個(gè)加入緩存失敗的話只是增加了一次查詢數(shù)據(jù)庫的操作而已(下一次查這個(gè)數(shù)據(jù)的時(shí)候把他加入緩存)

高并發(fā)下redis和數(shù)據(jù)庫不一致問題

使用SpringCache進(jìn)行緩存數(shù)據(jù)庫查詢方式

如果這這兩個(gè)操作剛好在中間虛線部分那么緩存里面的數(shù)據(jù)和數(shù)據(jù)庫里面的數(shù)據(jù)就不一樣了,這個(gè)時(shí)候我們要解決這個(gè)問題就得引入分布式鎖

使用SpringCache進(jìn)行緩存數(shù)據(jù)庫查詢方式

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://tiancixiong.blog.csdn.net/article/details/87940258

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品永久免费10000 | 变态女王麻麻小说在线阅读 | 国自产拍在线天天更新91 | 极品一区| 无套内射在线观看THEPORN | 91制片厂制作果冻传媒破解 | 秘书在办公室疯狂被hd | 亚洲人成绝费网站色ww | 免费看a片毛片 | 日本96在线精品视频免费观看 | 视频久久精品 | 四虎影视永久在线精品免费 | 久久精品热只有精品 | 全程粗语对白视频videos | 3d美女触手怪爆羞羞漫画 | japanese秘书丝袜 | 羞羞视频污| 免费一级毛片在线播放放视频 | 青春草视频免费观看 | 欧美牛逼aa| 四虎影视在线永久免费观看 | 97香蕉超级碰碰碰久久兔费 | 丫鬟粗大狠狠贯穿h | 国产免费久久精品 | 国模一区二区三区视频一 | 91对白在线 | 粉嫩极品国产在线观看免费 | 亚洲天堂三区 | 成人国产精品视频频 | 欧美一级二级片 | 国产乱子伦在线观看不卡 | 亚洲精品一二三四 | 国产美女亚洲精品久久久综合91 | 亚洲国产精品ⅴa在线观看 亚洲国产高清一区二区三区 | 非洲黑人xxxxxbbbbb | 免费国产影视观看网站入口 | 国产全部理论片线观看 | 99久久久久久久 | bt天堂在线最新版在线 | 国产第一页无线好源 | 双性产卵 |