В паттерне Cache-Aside приложение само управляет загрузкой данных в кеш. При чтении: сначала проверяется кеш; при промахе данные читаются из БД, записываются в кеш и возвращаются клиенту.
val := cache.Get(key)
if val == nil {
val = db.Get(key)
cache.Set(key, val)
}