在我的应用程序中,我使用ehcache和几个由terracotta服务器支持的缓存。
我注意到服务器中保存的数据大小与在客户端中创建缓存管理器实例所花费的时间之间存在关联(大小越大,所需的时间越长)。
我找不到有关创建缓存管理器时实际发生的事情的任何信息。 根据我的理解,数据只会在实际请求时被提取,而不是在创建管理器时被提取,那么开销是多少?
对于相关阅读的任何想法或参考都将非常感激。
答案 0 :(得分:0)
首先,CacheManager与任何推送或拉取数据无关,它创建包含元素作为名称值对的缓存,并保存put / get和其他操作的数据。实际上,CacheManager会创建,访问和删除缓存。
答案 1 :(得分:0)
实际上,当您创建具有参与兵马俑群集的缓存的CacheManager时,您可能会看到它加载的时间不同。缓存管理器将建立与配置中指定的服务器的连接。如果有任何预缓存加载器,例如扩展BootstrapCacheLoader
的类也会影响加载时间。参与群集的高速缓存中的高速缓存一致性属性也会影响加载时间。根据设计,兵马俑服务器会将最受欢迎的数据推送到客户端,以减少本地缓存未命中以及缓存是否被识别为固定。