как узнать версию редис

Шпаргалка по Redis

Про Redis (официальный сайт, материалы на Хабре) написано много, но мне до сего дня не хватало материала, который послужил бы шпаргалкой по его практическому использованию, а так же справочником по базовым теоретическим моментам. Постараюсь заполнить этот пробел в богатой базе знаний Хабра.

Я поставил перед собой цель показать возможности Redis с помощью примеров кода. После публикации приму любые предложения по улучшению материала.

Здесь используется общение с сервером через консольный клиент, но, основываясь на приведенных примерах, можно легко найти реализацию этих примеров в клиентских библиотеках на вашем любимом языке.

Ключи

Типы данных Redis

Базовые операции

Подробности о командах, связанных с этой задачей можно найти в документации в разделах Keys и Strings.

Задача 2, время жизни объекта.

Подробности о командах, связанных с этой задачей можно найти в документации в разделах Keys и Strings.

Задача 3, pipelining, выполнение нескольких команд одним запросом.

Pipelining удобно использовать для оптимизации массовых вставок.

Подробности о командах, связанных с этой задачей можно найти в документации в разделе Transactions.

Строки/числа

Задача 5, продемонстрировать основные строковые операции.

Задача 6, продемонстрировать операции над числами.

Подробности о командах, связанных с этими задачами можно найти в документации в разделе Strings.

Списки

Задача 7, создать список, продемонстрировать основные операции над списками.

Подробности о командах, связанных с этой задачей можно найти в документации в разделе Lists.

Множества, упорядоченные множества

Задача 8, создать множество, продемонстрировать основные операции над множествами.

Подробности о командах, связанных с этой задачей можно найти в документации в разделе Sets.

Задача 9, создать упорядоченное множество и продемонстрировано основные операции над ним.
В упорядоченном множестве элементы сравниваются по дополнительному параметру «score».

Подробности о командах, связанных с этой задачей можно найти в документации в разделе Sorted sets.

Хеш-таблицы

Задача 10, Создать хеш-таблицу и продемонстрировать основные операции над хешами.

Подробности о командах, связанных с этой задачей можно найти в документации в разделе Hashes.

Pub/Sub, сообщения в Redis

Задача 11, подписаться на сообщения на одном клиенте и отправить сообщение из другого.
Приведем окна двух клиентов, в первом окне совершается подписка на сообщения и видно отправленное из второго окна сообщение.

Задача 12, подписаться на сообщения на одном клиенте и отправить сообщение из другого. Подписку осуществить с помощью шаблонов.
Приведем окна двух клиентов, в первом окне совершается подписка на сообщения и видно отправленное из второго окна сообщение.

Подробности о командах, связанных с этими задачами можно найти в документации в разделе Pub/Sub.

Источник

Redis для начинающих

Введение

С одной стороны есть традиционные ACID реляционные базы данных такие как MySQL, PostgreSQL, Oracle и др. Они надежны и стабильны. Сама аббревиатура ACID описывает требования к транзакционной системе (Atomicity — Атомарность, Consistency — Согласованность, Isolation — Изолированность, Durability — Долговечность). Их основная задаче не просто хранить данные, а хранить с максимальной надежностью. Но их основной недостаток, они очень медленные.

С другой стороны есть очень быстрые хранилища в памяти типа ключ-значение, например memcached. Они очень быстрые за счет предельной простоты и отказа от надежности. Несложно привести несколько примеров задач где нужна производительность даже за счет надежности:
— система мониторинга с n-ым количеством датчиков, которые должны постоянно отправлять данные.
— система логирования действий пользователя на каком нибудь сайте
— контроль трафика сети в реалтайм
— хранение сессий пользователей
и т.д.

Redis относится к третьему типу хранилищей. Когда нужно быстрая обработка данных и при этом сохранялось бы определенный уровень надежности и возможности масштабирования.

Redis (REmote DIctionary Server) — это не реляционная структура данных в памяти, используемая в качестве базы данных. Данные хранятся в виде пары ключ-значение. И при этом хранилище умеет масштабироваться путем репликации между серверами. Redis сохраняет все данные в памяти, что позволяет сделать доступ к данным максимально быстрым по сравнению с другими базами данных. Почему Redis известен своей исключительной высокой производительностью даже среди других key-value хранилищ.

Redis позволяет нам хранить данные в высокоуровневых структурах данных, такие как строки, хэши, списки, наборы. Это дает нам больше гибкости в отношении типа и объема информации, которую мы можем хранить в хранилище данных Redis.

Он также довольно дружелюбен для разработчиков, поскольку поддерживает большинство языков высокого уровня, таких как Python, JavaScript, Java, C / C ++ и PHP.

Установка Redis

Для дальнейшего изучения Redis нам необходимо скачать и установить сервер Redis. Можно использовать инструкции с официальной веб-страницы. Так же под MacOS можно использовать Homebrew, а для Linux что типа apt. Для запуска Redis используется команда redis-server

У Redis есть Redis-CLI (Common Line Interface), который можно использовать для взаимодействия с данными напрямую на сервере Redis.

Чтобы проверить правильность установки Redis, запустите redis-cli, а затем введите команду ping в появившейся подсказке:

Если сервер отвечает ответом PONG значит он готов к работе. По умолчанию сервер Redis работает на порту 6379, что видно в нашем приглашении.

Что бы выйти из redis-cli используйте команду quit.

Для вывода помощи по списку команд в консоли можно использовать команду HELP @string. Для вывода помощи по конкретной команде можно использовать команду HELP APPEND Например:

Далее приведен краткий список самых необходимых команд. Для изучения полного списка команд, если в этом есть необходимость, обратитесь к официальной документации.

Прежде чем начать использовать Redis в любом языке программирования нужно узнать о базовых командах и структурах используемых в Redis.

Команды

Прежде всего Redis это хранилище типа ключ: значение. И самые первые команды которую все изучают, это команды SET и GET:

Команда используется для установки ключа и его значения, с дополнительными необязательными параметрами для указания срока действия записи значения ключа. Давайте установим ключ foo со значением «hello world». Параметр EX указывает время жизни объекта в секундах, PX в милисекундах:

Команда используется для получения значения, связанного с ключом. Если запись значения ключа превысила срок действия, будет возвращено nil:

По умолчанию все значение в Redis сохраняются как строки.

EXISTS

Эта команда проверяет, существует ли что то с данным ключом. Она возвращает 1 если объект существует или 0 если нет. Boolean типа в Redis нет.

FLUSHALL

Эта команда полностью удаляет все данные в текущем сеансе.

GETSET

Команда возвращает текущее значение и устанавливает новое. Используется для атомарного управления данными.

Команда удаляет ключ и соответствующее значение:

APPEND

Команда добавляем в соотвествующий ключ дополнительное значение. Возвращает количество символов итогового значения.

Возвращает все ключи из базы по указанному шаблону. Есть предостережение что в реальных приложения эту команду лучше не использовать из-за того что она очень медленная.

INCR / DECR

Инкремент / декримент. Если значение ключа integer (хотя в базе храниться все равно строка) можно увеличить или уменьшить значение на 1. Если использовать команду INCR с несуществующем значением то создаться новый ключ со значением 1.

Когда ключ установлен с истечением срока действия (например SET foo EX 10), эту команду можно использовать для просмотра оставшегося времени:

PERSIST

Если мы передумаем об истечении срока действия ключа, мы можем использовать эту команду, чтобы удалить период истечения срока действия:

RENAME

Эта команда используется для переименования ключей на нашем сервере Redis:

Комплексные типы данных

Хеш таблицы

Redis позволяет в качестве значения так же использовать ключ: значение. Что по сути будет почти аналогией объектов из JavaScript или словари в Python. Для записи объекта используется команда HSET в следующем формате HSET имя_ключа имя_атрибута значение. Для чтения объекта используется команда HGET в формате HGET имя_ключа имя_атрибута. Команда HGETALL используется для получения

Множества

Не упорядоченная коллекция уникальных элементов. Аналог set в Python. Для добавление нового элемента во множество используется команда SADD. Для получения все элементов используется команда SMEMBERS. SUNION используется для объединение множеств. SDIFF используется для вычитания из первого множества второго. SINTER возвращает общие элементы указаных множеств. SPOP удаляет и возвращает случайный элемент множества.

Упорядоченные множества

Упорядоченная коллекция уникальных элементов. Для добавление нового элемента в упорядоченное множество используется команда ZADD. Формат ZADD имя_ключа порядковое_число_упорядочивания_множества значение
Команда ZRANGE возвращает срез данных множества

Списки

Транзакции в Redis

Обычное определение транзакций для реляционных баз данных означает следующее: транзакции это группа команд с базой данных, которые должны либо полностью выполнится или в случае возникновение ошибки вернуть состояние базы данных в исходное состояние. В Redis то же есть такое понятие как транзакции. Но означает немного другое. Транзакции в Redis это просто последовательное выполнение ранее записаных команд без возможности полноценного возвращения исходного состояния в случае ошибки исполнения.

С помощью команды MULTI можно начать запись команд. Далее введенные команды не исполняются а записываются в буфер. Это будет происходит до ввода команды на исполнения транзакции EXEC. Далее все ранее введенные команды будут исполнены один за другим. Команда DISCARD отмена записи команд транзакций. Если возникнет ошибка в процессе ввода команд вся транзакция не будет выполнена.

Механиз подписок PUS-SUB

Одно из основных преимуществ Redis от других key-value хранилищ заключается в том, что в Redis есть механизм подписок. То есть Redis можно использовать как сервер сообщений.

Одни клиенты подписываются на определенные каналы используя команду SUBSCRIBE имя_канала

Другие клиенты могут отправлять сообщения в этот канал используя команду PUBLISH имя_канала значение

Допустим один клиент подписывается на канал

Другой клиент что то отправляет в этот канал

И в этот момент первый клиент получит это сообщение

Основы применение Redis в Python

Redis очень широко применяется в современной разработке ПО. Библиотеки поддержки есть для любого языка программирования.

Кратко рассмотрим использование Redis в Python. Для этого первым делом загрузим библиотеку поддержки:

Далее подключимся к серверу

И далее можно уже начать попробовать использовать все ранее рассмотренные команды. Надеюсь они будут понятны без дополнительных пояснений:

Заключение

Redis — это мощный и быстрый вариант хранения данных, который при правильном использовании может принести много преимуществ. Он не имеет крутой кривой обучения, поэтому с ним легко начать работать. Также поставляется с удобным инструментом CLI, который помогает нам взаимодействовать с ним с помощью простых и интуитивно понятных команд.

Источник

Русские Блоги

Проверьте, установлен ли Redis в Linux, Redis запущен

1. Проверьте, установлены ли redis-cli и redis-server;

Инструкции установлены. Если вы не знаете, как установить, позвольте мне рассказать вам простой метод. Вы можете установить php, расширение php-redis, redis-server, redis-cli за один шаг. к
Ссылка для справки:http://blog.csdn.net/zhezhebie/article/details/73325663

Затем добавьте в горячую клавишу redis-server, никто не хочет каждый раз набирать длинный список адресов:
Ссылка для справки:http://blog.csdn.net/zhezhebie/article/details/71641326

Запустите redis:

как узнать версию редис. 47c7bc2d3eeb889d82d5e768e8dbb64c. как узнать версию редис фото. как узнать версию редис-47c7bc2d3eeb889d82d5e768e8dbb64c. картинка как узнать версию редис. картинка 47c7bc2d3eeb889d82d5e768e8dbb64c.

Проверьте, существует ли фоновый процесс

Проверьте, прослушивает ли порт 6379

использование redis-cli Клиент определяет, нормальное ли соединение

Остановить redis:

2. Начните с указания файла конфигурации.

Вы можете указать файл конфигурации для запуска службы Redis, а файл конфигурации redis.conf находится в корневом каталоге Redis. к
Измените daemonize на yes, то есть запускать как фоновую программу по умолчанию (не забудьте вручную использовать амперсанд для принудительной фоновой операции).

Порт прослушивания по умолчанию можно изменить

Измените расположение файла журнала по умолчанию

Местоположение по умолчанию

Настроить место хранения постоянных файлов
Местоположение по умолчанию:

Укажите файл конфигурации при запуске

Если вы меняете порт, используйте redis-cli Когда клиент подключается, ему также необходимо указать порт, например:

Остановите и первый.Файл конфигурации является очень важным инструментом настройки.Он станет особенно важным по мере того, как его использование будет постепенно углубляться.Рекомендуется использовать файл конфигурации в начале.

3. Используйте сценарий запуска Redis, чтобы настроить автозапуск при загрузке.

Для запуска службы Redis в производственной среде рекомендуется использовать сценарий запуска. Сценарий запуска redis_init_script Он находится в каталоге / utils / Redis. к
Приблизительно просмотрев сценарий запуска, я обнаружил, что redis обычно использует имя порта прослушивания в качестве имени файла конфигурации, и мы будем следовать этому соглашению позже. к
Порт, который слушает сервер Redis

Расположение файла Redis PID

Расположение файла конфигурации, необходимо изменить

Конфигурационная среда
1. Согласно требованиям сценария запуска скопируйте измененный файл конфигурации в указанный каталог под названием порта. Необходимо использовать пользователя root.

Будет сообщено об ошибке: сервис redisd не поддерживает chkconfig
Обратитесь к этой статье и добавьте следующие две строки комментариев в начало сценария запуска, чтобы изменить уровень его выполнения:

Установите снова, чтобы добиться успеха. к
Установить автоматический запуск сервера

Источник

Как установить Redis в ОС Windows без использования Docker

Пошаговое руководство по работе с популярной NoSQL базой данных.

Просто и быстро установить Redis в ОС Windows позволяет Chocolatey. Это менеджер пакетов в среде Windows, аналогичный apt-get в мире Linux. С его помощью можно устанавливать множество программ и обновлять их, не скачивая каждый раз дистрибутив с сайта.

Установка Chocolatey

Действуем по инструкции с официального сайта проекта Chocolatey.

Требования к системе

как узнать версию редис. 17482108122020 99d2e0d5749e970673d750909e91ea53b1c4f8e5. как узнать версию редис фото. как узнать версию редис-17482108122020 99d2e0d5749e970673d750909e91ea53b1c4f8e5. картинка как узнать версию редис. картинка 17482108122020 99d2e0d5749e970673d750909e91ea53b1c4f8e5.

Преподаватель Skillbox. Пишет про Java, учит Go. Помнит рассвет PHP и как «грабить корованы».

Проверяем версию системы

Запустите консоль запуска команд, нажав WIN + R, и введите команду cmd. Если вверху выведена версия Windows, как на скриншоте, этого достаточно.

как узнать версию редис. 21135208122020 e3ea06ecc4efe66fd609360c227a5daace25eda6. как узнать версию редис фото. как узнать версию редис-21135208122020 e3ea06ecc4efe66fd609360c227a5daace25eda6. картинка как узнать версию редис. картинка 21135208122020 e3ea06ecc4efe66fd609360c227a5daace25eda6.

Если нет, введите команду systeminfo. В начале вывода должна появиться версия Windows.

как узнать версию редис. 21135208122020 6a4e9b3ae3023faad72ace61e6264ce47ed78056. как узнать версию редис фото. как узнать версию редис-21135208122020 6a4e9b3ae3023faad72ace61e6264ce47ed78056. картинка как узнать версию редис. картинка 21135208122020 6a4e9b3ae3023faad72ace61e6264ce47ed78056.

Если у вас установлена версия 7 или выше — переходим к следующему шагу.

Проверяем версию PowerShell

как узнать версию редис. 21135308122020 8bc1aa9ad985c6b5f9a267787eba176dd734e55f. как узнать версию редис фото. как узнать версию редис-21135308122020 8bc1aa9ad985c6b5f9a267787eba176dd734e55f. картинка как узнать версию редис. картинка 21135308122020 8bc1aa9ad985c6b5f9a267787eba176dd734e55f.

На нашем скриншоте версия PowerShell 5.1. Если у вас версия ниже 3, необходимо установить PowerShell версии 3 (или выше). Инструкция есть по этой ссылке.

Проверяем версию.NET Framework

Запускаем редактор реестра: нажимаем WIN + R и выполняем команду regedit.

Переходим в раздел

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP и смотрим, какие папки там присутствуют:

как узнать версию редис. 21135308122020 db52642fc67f6c7c46657360f234a883af322464. как узнать версию редис фото. как узнать версию редис-21135308122020 db52642fc67f6c7c46657360f234a883af322464. картинка как узнать версию редис. картинка 21135308122020 db52642fc67f6c7c46657360f234a883af322464.

Если нет такой ветки или отсутствует версия 4.0 и выше, то необходимо её установить. Подробная инструкция находится по этой ссылке.

Установка Chocolatey

После всех подготовительных действий устанавливаем Chocolatey. Это делается одной командой PowerShell.

Важно! До начала установки необходимо проверить, есть ли на это права. Если прав недостаточно, их нужно добавить.

В PowerShell необходимо убедиться, что Get-ExecutionPolicy не является Restricted. Рекомендуется использовать Bypass для снятия ограничений или AllSigned для более безопасного использования.

Источник

Установка, настройка и работа с Redis на Ubuntu

Мы рассмотрим инструкцию для установки Redis как на операционную систему Ubuntu, так и в качестве контейнера Docker. Данную СУБД, как правило, применяют для хранения временной информации, например, кэша или сессий. Ее преимущество — скорость.

Установка, начальная настройка и запуск

Рассмотрим два варианта установки — чистая инсталляция на систему Linux Ubuntu и запуск контейнера из официального докер-образа.

Операционная система Ubuntu

Обновляем список пакетов:

apt-get install redis-server

Открываем конфигурационный файл:

Меняем значение для директивы supervised:

* данная настройка позволит инициализировать запуск Redis как службы. В соответствии с официальной документацией, это позволит нам получить больше контроля над базой данных.

Разрешаем автозапуск сервиса:

systemctl enable redis-server

systemctl restart redis-server

Наш сервер готов к работе.

Посмотреть версию установленной СУБД можно командой:

Мы должны увидеть что-то на подобие:

Redis server v=5.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=636cde3b5c7a3923

* в данном примере установлена версия 5. На момент обновления данной инструкции последней версией была 6.

Docker

Необходимо, чтобы в нашей системе был установлен Docker.

После выполняем загрузку образа Redis:

Проверим, что наш контейнер запустился:

Мы должны увидеть что-то на подобие:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a8c30431268c redis «docke…» 4 sec. Up 3. 6379/tcp redis-server

* наш сервис запущен на порту 6379; к нему можно обращаться по имени redis-server или ID a8c30431268c.

Проверка работы

Мы подключимся к нашему локальному серверу командой redis-cli.

а) при установке на систему:

б) если запустили контейнер:

* где redis-server — имя контейнера, которое мы задали во время его запуска.

Мы должны увидеть строку ввода команд Redis:

Для проверки подключения к серверу выполним команду:

В ответ мы должны увидеть:

> set test_key «A test value»

Теперь попробуем его получить:

Мы должны получить наше значение:

Также можно получить список всех ключей командой:

Сервер работает. Выходим из редис-консоли:

Полный список команд для работы в redis-cli можно найти на официальном сайте.

Доступ по сети

После установки Redis, к нему можно подключиться только локально. Чтобы мы могли использовать сервер баз данных для сетевых запросов, необходимо изменить настройки в конфигурационном файле. В зависимости от способа установки, наши действия будут отличаться.

а) Установка на операционную систему

Открываем конфигурационный файл:

. и через запятую перечисляем IP-адреса сетевых интерфейсов сервера, на котором он должен принимать запросы:

bind 127.0.0.1 ::1 192.168.0.15

* в нашем примере мы добавили адрес 192.168.0.15 — предполагается, что это адрес нашего сервера.

systemctl restart redis-server

Готово, проверить, что сервер слушает нужный адрес можно командой:

б) Запуск в Docker

По умолчанию, Redis в докере разрешаем сетевые подключения в сети docker и при подключении с локального сервера. Чтобы сделать доступным контейнер при обращении к хосту Docker, нужно запустить контейнер с опцией -p 6379:6379.

Для начала, уничтожим запущенный контейнер:

И запустим его снова с нужной опцией:

Подключение клиентом

На компьютере, с которого мы хотим подключиться к нашему серверу должна быть установлена утилита redis-tools. Например, на Ubuntu или Debian ее можно поставить простой командой:

apt-get install redis-tools

После мы можем подключится к нашему серверу баз данных командой:

* где 192.168.0.15 — адрес сервера Redis.

Для подключения из Windows можно установить клиент AnotherRedisDesktopManager.

Настройка аутентификации

При необходимости, мы можем установить логин и пароль для подключения к Redis. Наши действия будут отличаться в зависимости от способа установки сервера баз данных.

а) Установка на операционную систему

Открываем конфигурационный файл:

Снимаем комментарий с параметра requirepass и в качестве значения присваиваем парольное слово:

* в данном примере в качестве пароля используем слово password.

systemctl restart redis-server

Подключаемся к консоли ввода команд:

* где password — наше парольное слово.

Если мы ввели правильный пароль, то система покажет:

Теперь можно вводить запросы, например:

б) Запуск в Docker

Для докера мы выполним запуск контейнера с помощью Docker Compose. Для начала, необходимо его установить.

Создаем каталог, в котором разместим конфигурационный файл на хосте докер:

Создадим наш конфигурационный файл:

* в данном примере в качестве пароля используем слово password.

Перейдем в каталог:

Создадим файл docker-compose:

redis:
image: redis
container_name: ‘redis-server’
restart: unless-stopped
ports:
— «6379:6379»
volumes:
— /opt/docker/redis/etc:/usr/local/etc/redis
command: [ «redis-server», «/usr/local/etc/redis/redis.conf» ]

* в данном примере мы запускаем контейнер redis-server из образа redis; сервис должен работать на порту 6379; также мы пробросим созданный каталог /opt/docker/redis/etc внутри контейнера в /usr/local/etc/redis; наконец, запуск сервиса будет выполнен с параметром /usr/local/etc/redis/redis.conf — нашим конфигурационным файлом.

Уничтожаем ранее запущенный контейнер:

Запускаем новый с помощью docker-compose:

Теперь можно подключиться к консоли redis-cli:

* где password — пароль, заданный в конфигурационном файле.

Можно попробовать ввести запросы:

Пример подключения из языков программирования

Рассмотрим примеры подключения и выполнения запросов из нескольких языков программирования.

Устанавливаем необходимые зависимости для PHP — пример для Ubuntu / Debian:

apt-get install php-pear php-dev

Также нам нужно установить расширение pecl — обновляем канал:

pecl channel-update pecl.php.net

И компилируем расширение:

pecl install redis

Для каждого возможного варианта использования PHP необходимо создать отдельный конфигурационной файл. В данном примере, под php 7.4 для cli, php-fpm, apache.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *