shad-go/shopfront/README.md
2022-03-31 17:54:14 +03:00

29 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# shopfront
В этой задаче вам нужно реализовать хранилище счётчиков посещений поверх redis.
- Метод `RecordView` запоминает, что пользователь посетил страницу `item`-а.
- Метод `GetItems` загружает счётчики для пачки `item` ов. В поле `item[i].Viewed` должен
быть записан флаг, означающий, что пользователь посетил `i`-ый `item`.
В этой задаче есть benchmark-и. Чтобы пройти его, ваше решение должно использовать [pipelining](https://redis.io/docs/manual/pipelining/).
## Запуск тестов на linux
Для работы тестов на ubuntu нужно установить пакет `redis-server`.
```
sudo apt install redis-server
```
Если вы работаете на другом дистрибутиве linux, воспользуйтесь своим пакетным менеджером.
Тесты сами запускают `redis` в начале, и останавливают его в конце.
## Запуск redis в docker
Комментарии по запуску бд в docker смотрите в задаче [dao](../dao/).
```
(cd shopfront && docker-compose up -d && sleep 1 && env REDIS="localhost:6379" go test -v ./... -count=1 || true && docker-compose down)
```