«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Редис

Редис

Опубликовано 6 ноября 2024 г.
Просматривать:289

Redis

Redis — это база данных NOSQL, в которой данные хранятся в парах ключ-значение.
Redis хранит данные в основной памяти, что означает, что он быстрый, но энергозависимый, в отличие от систем баз данных, таких как PostgreSQL, которые хранят данные на диске.

Обзор

В приложении с сервером и базой данных доступ к информации в базе данных приведет к задержке.

Базы данных «ключ-значение», такие как Redis, часто хранятся перед этими базами данных, и операции доступа выполняются в два этапа:

  1. Если информация находится в кеше, попадание в кэш, приложение получает информацию из Redis и отправляет ее клиенту
  2. Если нет, промах кэша, приложение берет информацию из базы данных, отправляет ее клиенту и сохраняет в кеше.

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

Таким образом, фактом является то, что если вы вообще собираетесь создавать приложение, которое будет масштабируемым в будущем, Redis(или базы данных, подобные Redis) незаменим.


Вопросы

  1. Является ли Redis открытым исходным кодом?: Да, Redis — это открытый исходный код со специальным типом лицензии, но есть альтернативы, такие как KeyDB от Snapchat и Memcached, которые имеют открытый исходный код. KeyDB — это форк Redis, но на данный момент он может работать только в Linux.

  2. Поддерживает ли Redis Windows?: Нет, Redis не поддерживает Windows, но вы можете установить WSL/Ubuntu и установить Redis, используя

sudo apt install redis
  1. Я использую WSL. Почему в моей системе не работает сервер Redis: При работе на WSL вы можете запустить redis-server, используя
redis-server --port 6000

где 6000 — это порт вашего локального сервера, на котором вы хотите его запустить. (т.е. 127.0.0.1:6000).

Большинство проблем связано с тем, что порт по умолчанию, который использует redis-server, уже используется

  1. Существуют ли клиентские библиотеки для Redis?: На самом деле да. вы можете найти их на веб-сайте Redis или создать самостоятельно.

Установка Редиса

В Linux установить Redis так же просто, как

sudo apt install redis

или на Mac:

brew install redis

Запуск Redis

Вам необходимо иметь 2 экземпляра вашего терминала на

на первом сервере, на котором запускается ваш сервер

redis-server -port 

а на втором — запустить клиент

redis-cli

При создании веб-приложения вам не нужно запускать клиент , но сервер должен быть запущен

Концепции Redis

В Redis есть 3 основные концепции, которые вы должны понимать или 4

  1. Пары «ключ-значение»
  2. Списки
  3. Наборы
  4. Хеши

Все остальные структуры данных в основном являются усовершенствованной реализацией первой

Под списком я имел в виду массив, а не связанный список, и именно так его называет Redis.


Пары ключ-значение

Пары «ключ-значение» — это распространенная структура данных в большинстве языков программирования.

  1. В Python это называется словарями или dict короче

  2. В Javascript это называется Карты

  3. В C# это называется Словари

В Redis существует 6 основных операций для пар ключ-значение

Операции Пояснения Примеры Дальнейшее объяснение
НАБОР Создает пару ключ-значение УСТАНОВИТЬ имя Джон Назначает ключ для сопоставления со значением
ПОЛУЧАТЬ Получает значение ключа Получить имя Это возвращает Джона
УДАЛ Удаляет пару ключ-значение имя DEL При этом имя пары ключ-значение будет удалено из базы данных
СУЩЕСТВУЕТ Проверяет, существует ли ключ в базе данных Redis СУЩЕСТВУЕТ имя возвращает 1 или 0, соответствующее значению True или False
СМЫТЬВОЛ Очищает весь кэш СМЫТЬВОЛ более или менее похоже на DROP TABLE в postgres
КЛЮЧИ * Возвращает все ключи в базе данных КЛЮЧИ *

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

Существует 2 основные операции, основанные на времени

Операции Пояснения Примеры Дальнейшее объяснение
ИСТЕЧЕНИЕ Срок действия ключа истекает после определения EXPIRE имя 10 Удаляет имя значения ключа через 10 секунд. Ключ должен быть определен с помощью SET перед вызовом EXPIRE. Распространенной альтернативой является:
СЕТЕКС Срок действия ключа истекает после определения SETEX возраст 30 15 лет Устанавливает возраст ключа на значение 30, а затем удаляет пару ключ-значение через 15 секунд
TTL Время жить Возраст TTL Возвращает время, оставшееся до удаления ключа возраста.

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

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

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/ezekiel_77/redis-3njh?1. В случае нарушения прав свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3