Рубрики
Без рубрики

Программный доступ к EhCache в Spring Boot

В этом руководстве предполагается, что вы уже настроили Ehcache, и оно конкретно касается… С пометкой java, программирование, spring boot.

В этом руководстве предполагается, что вы уже настроили Ehcache, и оно конкретно касается программного добавления и удаления элементов.

Получить кэш

@Autowired
private CacheManager cacheManager;

[...]

public Ehcache getCache(String name) {
    return cacheManager.getCache(name);
}

В приведенном выше примере я “подключил” диспетчер кэша и вызвал в нем метод getCache() . Это принимает строку, которая является именем кэша, который вы хотите извлечь.

Заполнить кэш

private void updateCache() {
    getCache("example").put(new Element(entity.getName(), entity));
}

Как только мы извлекли кэш, мы можем вызвать put() для него. Этот метод принимает тип Элемент , который инкапсулирует ключ и значение, подлежащие хранению в кэше. Ключ может состоять из одного или нескольких значений, которые будут однозначно идентифицировать элемент в указанном кэше.

Удалить элемент из кэша

public void remove(String name, Collection key) {
    Ehcache cache = getCache(name);

    if (cache.isKeyInCache(key)) {
        cache.remove(key);
    }
}

Чтобы удалить элемент из кэша, нам сначала нужно создать ключ. Это коллекция типа “Object”, которая будет содержать одно или несколько значений, которые будут однозначно идентифицировать элемент. Сначала мы проверим, существует ли ключ в кэше. Если это произойдет, мы можем вызвать метод remove в кэше. Этот метод принимает ключ в качестве аргумента.

private void removeFromCache(ApplicationHealth health) {
    remove("health", Arrays.asList(health.getName()));
}

Оригинал: “https://dev.to/crmepham/programmatic-access-to-ehcache-in-spring-boot-1oci”