У нас есть ehcache, настроенный в нашей среде Grails, и я пытаюсь выяснить, как локальный кеш может быть настроен с удаленным терракотовым кешем.
Сценарий заключается в том, что у нас есть некоторые данные, которые минимально затратны для вычисления и выигрывают от локального кеша в памяти, но преимущества сводятся к минимуму при использовании удаленного терракотового кеша.
На данный момент конфигурация довольно проста:
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd" >
<diskStore path="java.io.tmpdir"/>
<cacheManagerEventListenerFactory class="" properties=""/>
<defaultCache
maxElementsInMemory="20000"
eternal="false"
timeToLiveSeconds="12000"
overflowToDisk="false"
diskPersistent="false">
<terracotta />
</defaultCache>
<terracottaConfig url="${com.ngs.app.tc.host}:${com.ngs.app.tc.port}" />
<cache name="org.hibernate.cache.UpdateTimestampsCache"
maxElementsInMemory="10000"
timeToIdleSeconds="300"/>
<cache name="org.hibernate.cache.StandardQueryCache"
maxElementsInMemory="10000"
timeToIdleSeconds="300"/>
</ehcache>
Вопросы:
Учитывая вышеприведенную конфигурацию, означает ли это, что кэш, помещаемый/получаемый, всегда будет совершать круговой путь к терракотовому серверу?
Возможна ли конфигурация, в которой он будет использовать локальный «горячий» кеш перед выполнением кругового пути к серверу?
Если будет использоваться локальный «горячий» кеш, это нужно будет реализовать программно с использованием другой конфигурации кеша, не поддерживаемой терракотой?
Спасибо за любой совет...