как получить данные из постоянного хранилища в EhCache - java - PullRequest
1 голос
/ 26 февраля 2020

Я использовал persistent хранилище Ehcache для кэширования и хранения данных. Вот код, который я получил:

import org.ehcache.PersistentCacheManager;
import org.ehcache.config.units.EntryUnit;
import org.ehcache.config.units.MemoryUnit;

import java.io.IOException;

import static org.ehcache.config.builders.CacheConfigurationBuilder.newCacheConfigurationBuilder;
import static org.ehcache.config.builders.CacheManagerBuilder.newCacheManagerBuilder;
import static org.ehcache.config.builders.CacheManagerBuilder.persistence;
import static org.ehcache.config.builders.ResourcePoolsBuilder.newResourcePoolsBuilder;

public class home {
    public static void main(String[] args) throws IOException {
        //  Creating Persistent Cache
        PersistentCacheManager persistentCacheManager =
                newCacheManagerBuilder()
                        .with(persistence("/tmp/tempProjectCache"))
                        .withCache("test-cache",
                                newCacheConfigurationBuilder(
                                        String.class, String.class,
                                        newResourcePoolsBuilder()
                                                .heap(1, EntryUnit.ENTRIES)
                                                .offheap(1, MemoryUnit.MB)
                                                .disk(2, MemoryUnit.MB, true)
                                )
                        ).build(true);

        org.ehcache.Cache persistantCacheStorage = persistentCacheManager.getCache("test-cache", String.class, String.class);
        persistantCacheStorage.put("name1","prince");
        persistantCacheStorage.put("name2","steven");
        System.out.println(persistantCacheStorage.get("name1"));
    }

}

Output Получил:

prince

Отлично сработало. Данные попали на диск. В следующий раз я удалил эту строку из исходного кода

persistantCacheStorage.put("name1","prince");

из кода и запустил код. Теперь Output был

null 

Поскольку это persistent хранилище, данные уже попали на диск. почему он не получает уже сохраненные данные с диска. Я не знаю, что я делаю неправильно. Если это было воссоздание папки с файлами, то как этого избежать и использовать старые данные кэша в EHCache Я новичок ie в java. Помогите мне с некоторыми решениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...