我有一个 JSP,它按多种聚合类型显示数据。例如,按市场、按类别、按服务器类型等。我拥有的是按出版商和时间划分的数据。就我而言,Publisher 是最细粒度的数据。
现在,这些数据每 1/2 小时更改一次。每半小时的数据量几乎是 5K,任何人一次查看数据 4 小时到 24 小时。在这些情况下,当加载服务器时,JSP 加载时间会迅速增加。我尝试使用 LinkedHashMap 和 LRU 缓存,但这似乎不是最佳解决方案,因为性能仍然不好。
任何关于使用哪种数据结构的想法都将不胜感激。
我有一个 JSP,它按多种聚合类型显示数据。例如,按市场、按类别、按服务器类型等。我拥有的是按出版商和时间划分的数据。就我而言,Publisher 是最细粒度的数据。
现在,这些数据每 1/2 小时更改一次。每半小时的数据量几乎是 5K,任何人一次查看数据 4 小时到 24 小时。在这些情况下,当加载服务器时,JSP 加载时间会迅速增加。我尝试使用 LinkedHashMap 和 LRU 缓存,但这似乎不是最佳解决方案,因为性能仍然不好。
任何关于使用哪种数据结构的想法都将不胜感激。
您可以使用像Ehcache这样的缓存工具。
是性能差,还是命中率低?有时维护缓存比直接查询数据更难。对于低命中率尤其如此。
如果你需要 10 毫秒来处理一次缓存命中,50 毫秒来处理一次缓存未命中,再加上 20 毫秒来存储缓存命中,那么每次缓存命中你只获得 20 毫秒,所以 10 次命中需要 200 毫秒。这听起来很棒,但是当您添加到期和失效时,更不用说缓存失效了,突然之间,您处于每次未命中至少需要10 次命中才能使缓存有用的地步。
缓存对于快闪族来说非常有用,但对于临时工具来说,它可能会浪费很多时间,因为它获得的资源也一样多。