Стратегии инвалидации кеша в Go.

Ответ

TTL - данные устаревают по времени; при записи в БД можно сбрасывать ключ или обновлять значение. Invalidate on write: при обновлении сущности удалять/обновлять кеш. Версия в ключе: key = "user:123:v2" при смене схемы. Event-based: подписка на события изменения и инвалидация. В Go комбинируют TTL (защита от старых данных) и явную инвалидацию при записи.

func (s *Service) UpdateUser(ctx context.Context, u *User) error {
    if err := s.repo.Update(ctx, u); err != nil { return err }
    s.cache.Delete("user:" + u.ID)
    return nil
}
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.