命中数量是EHCACHE中预期值的两倍。这是预期的行为吗?当我第一次点击它时,它正确地将cacheMiss计数显示为1,但是从高速缓存中的每个用户的命中计数中读取的后续命中总是2。
我首先尝试从Cache中获取数据,如果没有找到,则在缓存中添加它。在这个过程中,命中率是错过的两倍。
<route handleFault="true" streamCache="true" id="MainRoute">
<from uri="direct:start"/>
<setHeader headerName="CamelCacheOperation">
<constant>CamelCacheGet</constant>
</setHeader>
<setHeader headerName="CamelCacheKey">
<simple>${property.employeeId}</simple>
</setHeader>
<to uri="cache://EmployeeCache"/>
<choice>
<when>
<simple>${header.CamelCacheElementWasFound} == null</simple>
<to uri="direct:AddDataRoute"/>
<setHeader headerName="CamelCacheOperation">
<constant>CamelCacheAdd</constant>
</setHeader>
<setHeader headerName="CamelCacheKey">
<simple>${property.employeeId}</simple>
</setHeader>
<to uri="cache://EmployeeCache"/>
</when>
</choice>
</route>
答案 0 :(得分:0)
我建议查看访问缓存的代码。最新版本中没有任何已知错误,每次缓存命中计数两次。