Эйч
Эйч
  • Все менторы
Задачи/Go-разработчик/Кэширование для уменьшения задержек при удалённом доступе к хранилищу

Кэширование для уменьшения задержек при удалённом доступе к хранилищу

Условие задачи

Есть интерфейс для работы с key-value хранилищем, который реализован удалённо — реализация расположена в Америке, тогда как интерфейс используется в Европе. Из-за большого сетевого расстояния возникает существенная задержка при каждом обращении к базе данных. Чтобы сократить время отклика, необходимо внедрить механизм кэширования. Для этого нужно использовать паттерн "Декоратор", который позволит обернуть оригинальную реализацию интерфейса и скрыть внутри неё слой локального кэша

gotype KVDatabase interface {
  Get(string) (string, error)
  GetKeys() ([]string, error)
}

type RedisDatabase struct {
  // ...
}

func (d *RedisDatabase) Get(key string) (string, error) {
  // ...
}

func (d *RedisDatabase) GetKeys() ([]string, error) {
  // ...
}

Профессия

Go-разработчик

Сопроводим до оффера

Умножим шансы на каждом этапе поиска и поможем получить выгодный оффер

Узнать больше

Сервис развития карьеры

Контактыteam@h.careers@hcareers
TelegramVKYouTubeLinkedIn
Профессии
Компания
С чем помогаемОтзывыВопросы и ответыСертификатыВебинарыСтать ментором

Платформа принадлежит ООО "Эйч Карьера"
ИНН 9710095807 ОГРН 1227700077340
Адрес: 127006, город Москва, Старопименовский пер, д. 18 стр. 2, помещ./ком./этаж I/19/2

Copyright © 2020-2025 Сервис развития карьеры Эйч. Все права защищены.

Политика конфиденциальностиПользовательское соглашениеОферта