Это очень старая запись, но, похоже, она регулярно откатывается назад ...
Вы должны последовать совету Паскаля и прочитать эти примеры, но вот фрагмент кода, который поможет вам начать работу (перевод из Scala, я не полностью проверил синтаксис)
Сначала поместите net.sf.ehcache:ehcache:2.9.0
и его зависимости в ClassPath
Чтобы создать кеш, достаточно просто
CacheManager cacheMgr = CacheManager.newInstance();
//Initialise a cache if it does not already exist
if (cacheMgr.getCache("MyCache") == null) {
cacheMgr.addCache("MyCache");
}
Создайте CacheManager только один раз в своем коде и используйте его повторно.
- Поведение вашего кэша определяется XML-файлом конфигурации с именем
ehcache.xml
, который должен быть доступен на вашем пути к классам. Вы также можете сделать это программно. Файл может выглядеть как
<ehcache>
<diskStore path="java.io.tmpdir"/>
<cache name="MyCache"
maxEntriesLocalHeap="10000"
eternal="false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
maxEntriesLocalDisk="10000000"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU"
>
<persistence strategy="localTempSwap"/>
</cache>
</ehcache>
Для получения подробной информации о параметрах, проверьте http://ehcache.org/documentation/2.8/configuration/configuration
Используйте это
//use it
Cache cache = cacheMgr.getCache("MyCache");
//Store an element
cache.put(new Element("key", mySerializableObj));
//Retrieve an element
Element el = cache.get("key");
Serializable myObj = <Serializable>el.getObjectValue();
Попробуйте сохранить сериализуемые объекты, чтобы их можно было легко переполнить на устройстве хранения.