簡體   English   中英

哪些類在休眠狀態下緩存在二級緩存中

[英]Which Classes are Cached in second level cache in hibernate

有沒有辦法讓我找出休眠的二級緩存中緩存了哪些類(即不同類型的實例)。

二級緩存不緩存實體的實例 ,而是緩存實體的“脫水”版本。 這篇博客文章對此進行了很好的解釋:

第二級緩存

休眠緩存不存儲實體的實例-而是休眠使用一種稱為脫水狀態的東西。 可以將脫水狀態視為反序列化實體,其中脫水狀態就像字符串,整數等的數組,並且實體的id是指向脫水實體的指針。 從概念上講,您可以將其視為包含id作為鍵和一個數組作為值的Map。 或如下所示的緩存區域:

 { id -> { atribute1, attribute2, attribute3 } } { 1 -> { "a name", 20, null } } { 2 -> { "another name", 30, 4 } } 

如果該實體持有其他實體的集合,則該另一個實體也需要被緩存。 在這種情況下,它可能類似於:

 { id -> { atribute1, attribute2, attribute3, Set{item1..n} } } { 1 -> { "a name", 20, null, {1,2,5} } } { 2 -> { "another name", 30, 4, {4,8} } } 

根據您使用的L2緩存提供程序,您可能會得到一些控制台來監視/瀏覽緩存,但是仍然看不到“實例”。

資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM