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);
有没有 大佬知道的 这个东西 如何 设置 ,如果大佬知道的话,可以请在评论中评论一下吧 再次拜谢
看了看 官网中说的 也只是说了一下 模式 ,并没有涉及这个东西 。也可能是我没有找到的原因