最新回答 / qq_慕神0568869
二級(jí)緩存默認(rèn)是可讀寫的,在可讀寫的情況下會(huì)用序列化緩存SerializedCache來裝飾,在存入和獲取的時(shí)候會(huì)對(duì)數(shù)據(jù)對(duì)象進(jìn)行序列化和反序列化,返回的是一個(gè)新的對(duì)象。所以使用二級(jí)緩存的實(shí)體類必須實(shí)現(xiàn)序列化接口,
2020-05-21
最新回答 / burg_xun
一級(jí)緩存 是sqlsession 級(jí)別的,所以多個(gè)sqlsession 不存在上面說的臟讀的問題。就算是分布式的環(huán)境下,就像視頻中的說的 SqleSession是開啟數(shù)據(jù)庫(kù)事務(wù)的,這個(gè)就要結(jié)合數(shù)據(jù)庫(kù) 默認(rèn)的事物級(jí)別有關(guān)系了? 正常MySql 默認(rèn)的是可重復(fù)讀,然后利用MVCC和數(shù)據(jù)庫(kù)的鎖 去解決了 幻讀的問題!
2020-05-15
已采納回答 / qq_慕神0568869
一級(jí)緩存是不能關(guān)閉的,但可以設(shè)置flushCache=true強(qiáng)制清除緩存或更改localCacheScope=STATEMENT,這樣每次都會(huì)查數(shù)據(jù)庫(kù),當(dāng)然也可以手動(dòng)調(diào)用session.clearCache清除
2020-05-13