Redis — бесплатное хранилище данных, используемое миллионами разработчиков как кэш, база данных или система обмена сообщениями. Название расшифровывается как Remote Dictionary Server — удалённый словарь, хранящий пары «ключ-значение» без жёстких требований к структуре данных.
Скорость и надёжность
Redis отличается высокой скоростью работы: чтение и запись данных занимают доли миллисекунды. Это достигается за счёт хранения данных в оперативной памяти, в отличие от таких баз данных, как MongoDB или MySQL, использующих жёсткий диск. Однако, хранение данных в оперативной памяти создаёт риск потери информации при отключении электропитания. Для минимизации этого риска Redis предлагает механизмы сохранения данных на жёсткий диск:
- RDB (Redis Database): периодически создаёт резервные копии всех данных из оперативной памяти на жёсткий диск.
- Append Only File (AOF): записывает все операции с данными, позволяя восстановить их в случае потери.
Можно использовать оба механизма, один из них или отказаться от резервного копирования (настройка по умолчанию), что увеличивает риск потери данных.
Быстрый запуск с Docker
Быстрый запуск Redis осуществляется с помощью Docker. Выполните следующие команды в терминале:
- docker run redis (запуск контейнера с образом Redis)
- docker ps (проверка запуска)
- docker exec -it myredis redis-cli (запуск Redis CLI для подключения к серверу внутри контейнера)
Проверьте доступность сервера командой redis-cli ping.
Основные команды
Основные операции в Redis:
- Запись данных: SET Car Ferrari (записывает ключ Car со значением Ferrari)
- Чтение данных: GET Car (получает значение ключа Car)
- Удаление данных: DEL Car (удаляет ключ Car)
- Установка времени жизни ключа: SETEX key 10 value (ключ будет удалён через 10 секунд)
- Поиск всех ключей: KEYS *
- Работа с множествами:
- SADD Fruits Apple Banana (добавление элементов в множество)
- SMEMBERS Fruits (просмотр элементов множества)
- SREM Fruits Apple (удаление элемента из множества)
- DEL Fruits (удаление множества)
Redis поддерживает различные типы данных, включая строки и множества.
Завершение работы
Остановите и удалите контейнер командой docker stop myredis && docker rm myredis. Более подробная информация доступна на redis.io.