КС:2015:Проект:redis

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

Что требуется

redis - это популярная in-memory key-value база данных.

Требуется реализовать собственный сервер, реализующий часть протокола redis.

Чему вы научитесь

1. Писать сетевые приложения.

2. Работать с фаловой системой.

Критерии оценивания

Требования на зачет в конце 1-го модуля

1. Сервер принимает соединения и понимает команды GET и SET. 2. Сервер корректно обрабатывает: некорректные входные данные, разрыв соединения.

Итоговая оценка

  • 4 балла. Реализованы и протестированы парсер и сериализатор для RedisValue.
  • 5 балла. Сервер принимает подключение от одного клиента и отвечает ошибкой на все запросы.
  • +1 балл. Сервер корректно обрабатывает несколько соединений.
  • +2 балла. Реализованы команды GET и SET(через интерфейс Cmd).
  • +2 балла. Реализованы сохранение и загрузка снимка состояния сервера на диск
  • +2 балла. Сервер обрабатывает каждое соединение в отдельном потоке.
  • +1 балл. Поддерживается TTL для ключей
  • +1 балл. Настроена демонизация сервера через upstart или systemd