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

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

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

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

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