Ответ
Плюсы:
- Ускорение доступа к данным (меньше запросов к БД/API)
- Снижение нагрузки на серверы (меньше вычислений)
- Улучшение отзывчивости приложения
Минусы:
- Проблемы с актуальностью данных (устаревшие данные)
- Дополнительное потребление памяти
- Сложность инвалидации (когда и как обновлять кэш)
Пример простого кэша в Go:
var cache = make(map[string]string)
func GetData(key string) string {
if val, ok := cache[key]; ok {
return val // данные из кэша
}
// запрос к БД/API
data := fetchFromDB(key)
cache[key] = data // сохранение в кэш
return data
}