Sobes.tech
Junior — Middle
91

¿Cómo se puede implementar un mecanismo de caché global de datos en una aplicación?

Empresas donde se preguntó
СБЕР ТехСБЕР Тех

Respuesta de la IA

sobes.tech AI

Глобальное кэширование данных в Java-приложении можно реализовать несколькими способами:

  1. Использование Singleton-класса с внутренним Map — простой способ хранить данные в памяти приложения.

  2. Использование готовых библиотек кэширования — например, Ehcache, Caffeine или Guava Cache, которые предоставляют расширенные возможности (время жизни, максимальный размер, очистка).

  3. Использование распределенного кэша — например, Redis или Memcached, если приложение масштабируется на несколько серверов.

Пример простого кэша с использованием ConcurrentHashMap:

import java.util.concurrent.*;

public class GlobalCache {
    private static final GlobalCache instance = new GlobalCache();
    private final ConcurrentHashMap<String, Object> cache = new ConcurrentHashMap<>();

    private GlobalCache() {}

    public static GlobalCache getInstance() {
        return instance;
    }

    public void put(String key, Object value) {
        cache.put(key, value);
    }

    public Object get(String key) {
        return cache.get(key);
    }

    public void remove(String key) {
        cache.remove(key);
    }
}

Такой подход обеспечивает быстрый доступ к данным в рамках одного экземпляра приложения.