我正在开发一个使用ehcache的项目。我们正在大量使用搜索API,并且我们使用的值大约有5-7个搜索属性。
所以,我想知道这些搜索属性会降低缓存的性能吗?
答案 0 :(得分:1)
在开源Ehcache中,搜索功能使用强力。这意味着搜索费用按如下方式支付:
鉴于此,是的,属性数量对put
产生了直接的性能影响,但get
没有。
答案 1 :(得分:1)
EhCache文档说明
搜索操作在O(n)时间内执行.....测试显示平均搜索性能 对于10,000个条目缓存,代表性查询为4.6毫秒,427毫秒 对于1,000,000个条目缓存。因此,独立实现是 适合开发和测试。
当使用没有BigMemory的独立Ehcache进行生产时,它就是 建议仅搜索少于100万的缓存 元素。不同标准的表现各不相同。例如,这里 是一些查询及其在200,000元素缓存上的执行时间。 (请注意,这些结果都比上面给出的时间快 因为他们执行一个标准。)
这里提到的两个重要的事情是 - 不同标准的表现各不相同,如果只有一个标准与多个标准,那就很重要了。虽然只能通过对用例进行基准测试才能找到对性能的实际影响 - 文档表明它有一定的效果。最好的方法是自己进行基准测试。