Hibernate & EHCache: jak działa MaxElementsInMemory?

Skonfigurowałem EHCache z defaultCache (dla elementów), StandardQueryCache (dla zapytań) i UpdateTimestampsCache (uważam, że śledzę aktualizacje bazy danych ... ale tak naprawdę nie rozumiem, co dokładnie robi).

Ustawiłem maxElementsInMemory dla każdej z tych pamięci podręcznych, ale nie dostaję tego, co ten numer kontroluje dla StandardQueryCache i UpdateTimestampsCache. Rozumiem, że liczba elementów, które mogą być buforowane w domyślnej pamięci podręcznej, nie może przekraczać 10000, ale pamięć podręczna zapytań nie buforuje elementów. Buforuje klucze podstawowe (o ile rozumiem).

Czy to oznacza, że ​​maxElementsInMemory dla StandardQueryCache kontroluje liczbę „wierszy” z wyników, czy też kontroluje liczbę par kluczy podstawowych dla elementów, które może mieć?

A co z UpdateTimestampsCache? Czy śledzi ostatni raz, gdy obiekt został zaktualizowany, kiedy ostatnio aktualizowano tabelę ... lub coś innego? Jakiego numeru należy użyć dla maxElementsInMemory dla tego numeru?

Dzięki!

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true" monitoring="autodetect"     dynamicConfig="true">
  <defaultCache 
    maxElementsInMemory="10000"
    eternal="false"
    timeToIdleSeconds="3600"
    timeToLiveSeconds="3600">
  </defaultCache>

  <cache
    name="org.hibernate.cache.internal.StandardQueryCache"
    maxElementsInMemory="10000"
    eternal="false"
    timeToIdleSeconds="3600"
    timeToLiveSeconds="3600">
  </cache>

  <cache
    name="org.hibernate.cache.spi.UpdateTimestampsCache"
    maxElementsInMemory="10000"
    eternal="true">
  </cache>

</ehcache>

questionAnswers(1)

yourAnswerToTheQuestion