КС:2015:Проект:redis — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Чему вы научитесь)
(обновлены критерии)
Строка 17: Строка 17:
  
 
=== Итоговая оценка ===
 
=== Итоговая оценка ===
* '''4 балла'''. Реализованы команды GET и SET
+
* '''4 балла'''. Реализованы и протестированы парсер и сериализатор для RedisValue.
* '''6 балла'''. Реализованы сохранение и загрузка снимка состояния сервера на диск
+
* '''5 балла'''. Сервер принимает подключение от одного клиента и отвечает ошибкой на все запросы.
* '''8 баллов'''. Реализована запись лога команд и восстановление из лога при запуске
+
* '''+1 балл'''. Сервер корректно обрабатывает несколько соединений.
* '''+1 балл'''. Настроена демонизация сервера через upstart или systemd
+
* '''8 балла'''. Реализованы команды GET и SET
 +
* '''+2 балла'''. Реализованы сохранение и загрузка снимка состояния сервера на диск
 +
* '''+2 балла'''. Сервер обрабатывает каждое соединение в отдельном потоке.
 
* '''+1 балл'''. Поддерживается TTL для ключей
 
* '''+1 балл'''. Поддерживается TTL для ключей
 +
* '''+1 балл'''. Настроена демонизация сервера через upstart или systemd

Версия 12:34, 19 декабря 2015

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

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

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

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

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

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

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

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

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

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

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