Junior — Senior
49
Локальный кэш для удалённого KV‑хранилища
Условие задачи
Необходимо реализовать локальный кэш, который будет скрытно оборачивать работу с удалённой key‑value базой (ключ — идентификатор пользователя, значение — его IPv4‑адрес). Цель — сократить время доступа (примерно 100 мс) за счёт локального хранения часто запрашиваемых данных. Пользовательский код взаимодействует с базой через прежний интерфейс, не подозревая о наличии кэша; вся логика кэширования должна быть инкапсулирована внутри реализации.
type KVDatabase interface {
Get(key string) (string, error)
Keys() ([]string, error)
MGet(keys []string) ([]*string, error)
}