Назад к вопросам
СБЕР Тех
Junior — Middle
66
Каким образом можно реализовать механизм глобального кэширования данных в приложении?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Глобальное кэширование данных в Java-приложении можно реализовать несколькими способами:
-
Использование Singleton-класса с внутренним Map — простой способ хранить данные в памяти приложения.
-
Использование готовых библиотек кэширования — например, Ehcache, Caffeine или Guava Cache, которые предоставляют расширенные возможности (время жизни, максимальный размер, очистка).
-
Использование распределенного кэша — например, 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);
}
}
Такой подход обеспечивает быстрый доступ к данным в рамках одного экземпляра приложения.