2010-03-18 4 views

ответ

9

Взятые из документации на Cache Configuration:

 
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, если не указано.


Update: Хотя выше примерно по умолчанию при настройке кэша, правда, кажется, что эти значения не применяются, если вы не обеспечивают 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 используется:

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

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

У меня есть страница, использующая 2-й уровень + запрос кеша. кеширование работает нормально, потому что когда я обновляю show_sql, не показывающий sql-запрос. но после 4-5 минут после того, как я нажму на обновление, он покажет, что запрос извлекается из db. из вашего объяснения значение по умолчанию равно «0», но не похоже на него. может разработать? – cometta

+1

Ссылка на конфигурацию кэша - 404 – luckydonald

Смежные вопросы