【问题标题】:what happens when a new ehcache cachemanager is created?创建新的 ehcache 缓存管理器时会发生什么?
【发布时间】:2014-10-27 20:44:04
【问题描述】:

在我的应用程序中,我使用 ehcache 和几个由 terracotta 服务器支持的缓存。

我注意到保存在服务器中的数据大小与在客户端创建缓存管理器实例所需的时间之间存在相关性(大小越大,所需的时间越长)。

我找不到任何有关创建缓存管理器时实际发生的情况的信息。 据我了解,只有在实际请求时才会提取数据,而不是在创建管理器时才提取数据,那么开销是多少?

任何关于相关阅读的想法或参考将不胜感激。

【问题讨论】:

    标签: ehcache terracotta


    【解决方案1】:

    首先,CacheManager 与任何数据推送或拉取无关,它创建包含元素作为名称值对的缓存,并保存用于 put/get 和其他操作的数据。实际上 CacheManager 做缓存的创建、访问和删除。

    【讨论】:

    • 所以缓存管理器创建已经在客户端内存中创建了带有一些键值对的缓存?
    • 其实没有。CacheManager只创建缓存,初始缓存默认为空。
    【解决方案2】:

    事实上,当您创建一个包含参与 terracotta 集群的缓存的 CacheManager 时,您可能会看到它加载的时间有所不同。缓存管理器将与配置中指定的服务器建立连接。如果有任何预缓存加载器,例如扩展 BootstrapCacheLoader 的类,也会影响加载时间。参与集群的缓存中的缓存一致性属性也会影响加载时间。根据设计,Terracotta 服务器会将命中率最高的数据推送到客户端,以减少本地缓存未命中以及缓存被识别为固定的情况。

    【讨论】:

    • 毗湿奴感谢您的回答! “按照设计,Terracotta 服务器会将命中率最高的数据推送给客户端”——你有没有提到创建缓存管理器时会发生这种情况?因为它肯定会解释我所看到的
    猜你喜欢
    • 2016-05-05
    • 2019-10-04
    • 2014-07-06
    • 2013-09-19
    • 1970-01-01
    • 1970-01-01
    • 2011-12-22
    • 2013-10-13
    • 1970-01-01
    相关资源
    最近更新 更多