摘要:而的緩存獨(dú)立存在于我們的應(yīng)用之外,我們對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)做了更新操作之后,沒(méi)有通知去更新相應(yīng)的內(nèi)容,因此我們?nèi)〉搅司彺嬷形葱薷牡臄?shù)據(jù),導(dǎo)致了數(shù)據(jù)庫(kù)與緩存中數(shù)據(jù)的不一致。
redis緩存
參照網(wǎng)址:
http://blog.didispace.com/spr...
項(xiàng)目目錄
D:testgitCloneSpringBoot-LearningChapter4-4-1
git地址:https://github.com/loqvliulia...
注意事項(xiàng):
1:?jiǎn)?dòng)本地redis
2:實(shí)體類實(shí)現(xiàn)序列化,并生成UID
(生成UID連接教程:http://www.cnblogs.com/qianzf/p/6811535.html)
測(cè)試Redis緩存機(jī)制:
使用redis ,填寫(xiě)測(cè)試類----對(duì)應(yīng)JPA的方法:
此時(shí)測(cè)試結(jié)果,第一次第二次調(diào)用時(shí),是正確的,第三次不正確(上面設(shè)置了為20)
思考:
為什么同樣的邏輯在EhCache中沒(méi)有問(wèn)題,但是到Redis中會(huì)出現(xiàn)這個(gè)問(wèn)題呢?
在EhCache緩存時(shí)沒(méi)有問(wèn)題,主要是由于EhCache是進(jìn)程內(nèi)的緩存框架,第一次通過(guò)select查詢出的結(jié)果被加入到EhCache緩存中,第二次查詢從EhCache取出的對(duì)象與第一次查詢對(duì)象實(shí)際上是同一個(gè)對(duì)象(可以在使用Chapter4-4-1工程中,觀察u1==u2來(lái)看看是否是同一個(gè)對(duì)象),因此我們?cè)诟耡ge的時(shí)候,實(shí)際已經(jīng)更新了EhCache中的緩存對(duì)象。
而Redis的緩存獨(dú)立存在于我們的Spring應(yīng)用之外,我們對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)做了更新操作之后,沒(méi)有通知Redis去更新相應(yīng)的內(nèi)容,因此我們?nèi)〉搅司彺嬷形葱薷牡臄?shù)據(jù),導(dǎo)致了數(shù)據(jù)庫(kù)與緩存中數(shù)據(jù)的不一致。
因此我們?cè)谑褂镁彺娴臅r(shí)候,要注意緩存的生命周期!!(利用注解做好緩存的更新刪除)
解決方法:
在JPA中通過(guò)@CachePut來(lái)讓數(shù)據(jù)及時(shí)更新操作同步到緩存中:
在redis-cli中flushdb,清空一下之前的緩存內(nèi)容,再執(zhí)行單元測(cè)試,可以得到正確結(jié)果:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/71201.html
摘要:完成狀態(tài)編寫(xiě)中已完成維護(hù)中原文是一個(gè)使用編寫(xiě)的開(kāi)源支持網(wǎng)絡(luò)基于內(nèi)存可選持久性的鍵值對(duì)存儲(chǔ)數(shù)據(jù)庫(kù)維基百科是目前業(yè)界使用廣泛的基于內(nèi)存的數(shù)據(jù)庫(kù)。 完成狀態(tài) [ ] 編寫(xiě)中 [ ] 已完成 [x] 維護(hù)中 原文 Redis Redis是一個(gè)使用ANSI C編寫(xiě)的開(kāi)源、支持網(wǎng)絡(luò)、基于內(nèi)存、可選持久性的鍵值對(duì)存儲(chǔ)數(shù)據(jù)庫(kù) ------ 維基百科 Redis 是目前業(yè)界使用廣泛的基于內(nèi)存的...
摘要:相比它支持存儲(chǔ)的類型相對(duì)更多字符哈希集合有序集合列表,同時(shí)是線程安全的。基于的連接實(shí)例,可以在多個(gè)線程間并發(fā)訪問(wèn),且線程安全,滿足多線程環(huán)境下的并發(fā)訪問(wèn),同時(shí)它是可伸縮的設(shè)計(jì),一個(gè)連接實(shí)例不夠的情況也可以按需增加連接實(shí)例。 SpringBoot 是為了簡(jiǎn)化 Spring 應(yīng)用的創(chuàng)建、運(yùn)行、調(diào)試、部署等一系列問(wèn)題而誕生的產(chǎn)物,自動(dòng)裝配的特性讓我們可以更好的關(guān)注業(yè)務(wù)本身而不是外部的XML...
閱讀 3244·2021-11-24 09:39
閱讀 3187·2021-10-21 09:38
閱讀 2407·2019-08-29 15:28
閱讀 3750·2019-08-26 12:23
閱讀 2626·2019-08-26 12:19
閱讀 1369·2019-08-23 12:44
閱讀 2136·2019-08-23 12:02
閱讀 1008·2019-08-22 17:05