время кэширования по умолчанию при использовании hibernate

при использовании hibernate кэш 2-го уровня и кэш запросов и не указывая ничего внутри ehcache.в XML .каково время кэширования по умолчанию?

1 ответов


взято из документации по Настройки Кэша:

The following attributes and elements are optional.

timeToIdleSeconds:
Sets the time to idle for an element before it expires.
i.e. The maximum amount of time between accesses before an element expires
Is only used if the element is not eternal.
Optional attribute. A value of 0 means that an Element can idle for infinity.
The default value is 0.

timeToLiveSeconds:
Sets the time to live for an element before it expires.
i.e. The maximum time between creation time and when an element expires.
Is only used if the element is not eternal.
Optional attribute. A value of 0 means that and Element can live for infinity.
The default value is 0.

обратите внимание, что EHCache использует timeToLive, а не время истечения срока действия, и по умолчанию 0, если не указано.


обновление: хотя выше о значениях по умолчанию при настройке кэша верно, похоже, что эти значения по умолчанию не применяются, если вы не предоставляете ehcache.xml. Поэтому я копнул немного дальше, и я думаю, что EHCache на самом деле всегда может использовать defaultCache в этом случае-в том числе для StandardQueryCache - и этот defaultCache имеет timeToLive 2 минут:

<defaultCache
        maxElementsInMemory="10000"
        eternal="false"
        timeToIdleSeconds="120"
        timeToLiveSeconds="120"
        overflowToDisk="true"
        diskPersistent="false"
        diskExpiryThreadIntervalSeconds="120"
        memoryStoreEvictionPolicy="LRU"
        />

Я не могу подтвердить это прямо сейчас, но это то, что я бы сделал:

  • во-первых, активируйте вход в систему EHCache, Ehcache регистрирует предупреждение, когда используется defaultCache:

хотя defaultCache является большим удобством, предпочтительно, чтобы каждый Кэш был настроен индивидуально. По этой причине сообщение уровня предупреждения журнала выдается каждый раз при создании кэша на основе значений defaultCache.

  • во-вторых, обеспечить ehcache.xml (и настройте кэш для StandardQueryCache).