shad-go/shopfront
Sergey Paramoshkin dc939b6ed1
update repo
2023-10-02 22:32:41 +03:00
..
docker-compose.yaml [shopfront] Disable redis persistence. 2022-04-17 14:55:01 +03:00
model.go Add shopfront task 2022-03-31 16:21:18 +03:00
README.md [dao, shopfront] Fix readme. 2022-03-31 17:54:14 +03:00
redis_test.go update repo 2023-10-02 22:32:41 +03:00
shopfront.go Add shopfront task 2022-03-31 16:21:18 +03:00
shopfront_test.go update repo 2023-10-02 22:32:41 +03:00

shopfront

В этой задаче вам нужно реализовать хранилище счётчиков посещений поверх redis.

  • Метод RecordView запоминает, что пользователь посетил страницу item-а.
  • Метод GetItems загружает счётчики для пачки item ов. В поле item[i].Viewed должен быть записан флаг, означающий, что пользователь посетил i-ый item.

В этой задаче есть benchmark-и. Чтобы пройти его, ваше решение должно использовать pipelining.

Запуск тестов на linux

Для работы тестов на ubuntu нужно установить пакет redis-server.

sudo apt install redis-server

Если вы работаете на другом дистрибутиве linux, воспользуйтесь своим пакетным менеджером.

Тесты сами запускают redis в начале, и останавливают его в конце.

Запуск redis в docker

Комментарии по запуску бд в docker смотрите в задаче dao.

(cd shopfront && docker-compose up -d && sleep 1 && env REDIS="localhost:6379" go test -v ./... -count=1 || true && docker-compose down)