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

服務(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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本黄色高清视频网站 | 日本成熟老妇xxxx | 青青青视频免费观看 | 国产精品视频自拍 | 99久久精品在免费线18 | 91看片淫黄大片在看 | 亚洲玖玖| 美女扒开屁股让我桶免费 | 青青热久免费精品视频网站 | 好大用力深一点 | 我年轻漂亮的继坶2中字在线播放 | 男同桌脱我奶罩吸我奶作文 | 无限观看社区在线视频 | swag最新正在播放 | 十八女下面流水不遮免费 | 亚洲国产第一区二区香蕉日日 | 俺去也亚洲色图 | 国产剧情一区 | 色综合视频在线 | 大杳蕉在线影院在线播放 | 红楼影视h38bar在线线播放 | 全黄h全肉细节文在线观看 全彩成人18h漫画 | 高清色黄毛片一级毛片 | 亚洲精品免费视频 | 国产良心大作白丝精厕 | 毛片在线免费观看网站 | 免费一看一级欧美 | 国产午夜精品福利久久 | 四虎永久网址影院 | 国产精品青青青高清在线密亚 | 扒开斗罗美女了的胸罩和内裤漫画 | 成人福利在线观看 | 日韩一区在线观看 | 国产精品美女久久久久 | 国产品精人成福利视频 | 久久久久国产一级毛片高清片 | 三级黄色片在线观看 | 国产真实偷乱视频在线观看 | 国产色综合久久五月色婷婷中文 | 91精品国产综合久久 | 五月桃花网婷婷亚洲综合 |