"positive" 收到用户请求时缓存 - ehcache

"positive" cache when got a user request - ehcache

我负责提高我的webapp的性能,当然,解决方案必须是缓存。

目前,系统有 feed rss 数据,应该有点新鲜,问题是 mysql 负载太重了。实际上,我用 ehcache 缓存了 1 分钟。意思是1分钟后,数据会过期,当倒霉的用户来的时候,他们的体验会比平时慢。

ehcache的配置是这样的:

<cache name="news.list" maxEntriesLocalHeap="1000" eternal="false" timeToLiveSeconds="60" statistics="true"
       memoryStoreEvictionPolicy="FIFO">
</cache>

我称之为负缓存,我也在考虑正缓存。如果数据缓存已过期,它仍然 return 缓存旧数据并执行并行任务为其他客户填充最新数据。

ehcache 有什么技术支持吗?

欢迎任何想法, 谢谢。

这里你需要的是所谓的 refresh-ahead 缓存。这样您就可以指示您的缓存始终查找过期的条目并在后台刷新它们。因此,当您的用户出现时,他们可能会发现为他们预先加载的新鲜(即时可用)信息。

您仍然需要注意整体配置。 缓存处理不当会导致您的应用程序性能下降。您不应在未完全了解其范围并尽可能进行测试的情况下应用任何类型的缓存方法。