Ehcache 緩存取出的對象,如果對其進行修改的話,是會將修改反映到緩存對象中。
如果想要關閉這個功能的話 ,需要 定義 copyOnRead: true copyOnWrite: true
這兩個屬性設置了 就可以了 不過我不是 xml 配置的 是 註解的那種
CacheManager cacheManager = (CacheManager) CacheManagerBuilder
.persistence(cache_disk_path) //硬盤緩存文件位置
.builder(CacheManagerBuilder
.newCacheManagerBuilder()
.withDefaultSizeOfMaxObjectGraph(20000) //cacheManager級別設置默認最大對象圖大小
.withCache("LocalCacheMax", CacheConfigurationBuilder //緩存名稱與緩存設置
.newCacheConfigurationBuilder(String.class, Serializable.class, ResourcePoolsBuilder
.newResourcePoolsBuilder()
.heap(cache_heap_size,MemoryUnit.valueOf(cache_heap_unit))
.offheap(cache_offheap_size,MemoryUnit.valueOf(cache_offheap_unit))
.disk(cache_disk_size,MemoryUnit.valueOf(cache_disk_unit), true))
.withExpiry(Expirations.noExpiration()) //設置永不過期
.withDiskStoreThreadPool("persistenceThread", 5)
))
.build(true);
return (Cache<String, Serializable>) cacheManager.getCache("LocalCacheMax",String.class, Serializable.class);
有沒有 大佬知道的 這個東西 如何 設置 ,如果大佬知道的話,可以請在評論中評論一下吧 再次拜謝
看了看 官網中說的 也只是說了一下 模式 ,並沒有涉及這個東西 。也可能是我沒有找到的原因