2012-08-08 17 views
7

Busco en las estadísticas Ehcache, veo estas cifras:¿Cuál es la diferencia entre "errores de caché" y "errores de memoria caché" en Ehcache?

CacheMisses: 75977
CacheHits: 38151

InMemoryCacheMisses: 4843
InMemoryCacheHits: 38151

"memoria "es la única tienda, no fuera de almacenamiento y sin almacenamiento en disco (overflowToDisk="false", diskPersistent="false"). Entonces, ¿qué significan estos dos? Esperaría que fueran iguales (los éxitos son los mismos), pero las fallas difieren mucho.

Respuesta

0

Creo que está utilizando ehcache 2.5+. Si tiene una configuración de caché con diskpersistance en true (aunque overflowtodisk es falso), escribe en el disco. Entonces, ¿podría haber diskhits también? Puedes verlos en las Estadísticas. ¿tiene diskpersistance como verdadero? Por favor, publique su configuración de caché

+0

ambos son falsos. cero hits de disco y falla – Bozho

1

¿Tiene alguna null -valuada Element s en su caché? (Ehcache le permite almacenar Element s con null valores, pero no estoy seguro si hay alguna restricción que lo rodee).

Mirando el código para Cache.searchInStoreWithStats(Object key) en la versión 2.5.3, parece que hay un error ahí:

  • La prueba para determinar si se debe incrementar inMemoryMisses utiliza un derivado containsKey(),
  • mientras que la prueba de incrementando cacheMisses null-checks contra el resultado de un derivado get().

Por lo tanto, cada vez que la búsqueda de una llave que existe en el InMemoryStore pero tiene un valor null, se incrementará cacheMisses pero no inMemoryMisses.

Por lo tanto, podría estar completamente fuera, pero me huele bien. ¿Qué piensas?

Edité: Me di cuenta de que mi interpretación era incorrecta: el Elemento no puede ser nulo, (pero su 'valor' puede ser nulo). Voy a dejar esta respuesta aquí de todos modos en caso de que desencadene cualquier otra idea

+0

Creo que noté el mismo problema hace un par de años y no lo denuncié. ¡Más engañarme! – laher

+0

nota: ese método aún no se ha modificado en el tronco: http://svn.terracotta.org/svn/ehcache/trunk/ehcache/ehcache-core/src/main/java/net/sf/ehcache/Cache.java – laher

+0

buen punto. No creo que tenga nulos, pero lo verificaré. Ya informé sobre la discrepancia como un problema, a la espera de la respuesta – Bozho

Cuestiones relacionadas