.. | ||
model.go | ||
README.md | ||
redis_test.go | ||
shopfront.go | ||
shopfront_test.go |
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)