2022-03-31 13:21:18 +00:00
# shopfront
В этой задаче вам нужно реализовать хранилище счётчиков посещений поверх redis.
- Метод `RecordView` запоминает, что пользователь посетил страницу `item` -а .
- Метод `GetItems` загружает счётчики для пачки `item` ов. В поле `item[i].Viewed` должен
2022-03-31 14:54:14 +00:00
быть записан флаг, означающий, что пользователь посетил `i` -ый `item` .
2022-03-31 13:21:18 +00:00
2024-06-05 17:36:34 +00:00
В этой задаче есть benchmark-и. Чтобы пройти е г о , ваше решение должно использовать [pipelining ](https://github.com/redis/redis-doc/blob/master/docs/manual/pipelining/index.md ).
2022-03-31 13:21:18 +00:00
## Запуск тестов на linux
Для работы тестов на ubuntu нужно установить пакет `redis-server` .
```
sudo apt install redis-server
```
Если вы работаете на другом дистрибутиве linux, воспользуйтесь своим пакетным менеджером.
Тесты сами запускают `redis` в начале, и останавливают е г о в конце.
2022-03-31 14:40:40 +00:00
## Запуск redis в docker
Комментарии по запуску бд в docker смотрите в задаче [dao ](../dao/ ).
```
2024-06-05 17:36:34 +00:00
(cd shopfront & & docker compose up -d --wait & & env REDIS="localhost:6379" go test -v ./... -count=1 || true & & docker compose down)
2022-03-31 14:40:40 +00:00
```