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

Редис 2

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

Redis 2

Redis — списки, наборы и HashMaps

Это продолжение предыдущей записи в блоге

Помимо пар ключ-значение доступны еще 3 типа данных

Списки

Эта структура данных напоминает список в Python или массив в Javascript или C#. Их можно использовать для хранения недавно использованных вещей. Общие операции:

Операции Пояснения Примеры Дальнейшее объяснение
ЛПУШ Добавляет элемент в начало списка Друзья LPUSH "София" похоже на Array.unshift в javascript
LRANGE Получить все элементы в списке LRANGE друзей 0 -1 аналогично список в Python 0 — это первый элемент, а -1 — последний элемент
RPUSH Добавляет элемент в конец списка RPUSH друзья "По" похоже на Array.push в javascript
LPOP Удаляет элемент из начала списка Друзья LPOP "По" Вернет 1, если Poe существует в списке, и 0 в противном случае
РПОП Удаляет элемент из конца списка Друзья РПОП "Софья" Вернет 1, если София существует в списке, и 0 в противном случае

Наборы

Структура данных, содержащая только уникальные элементы. аналогично наборам в Python, наборам в Javascript и HashSets в C#. Общие операции включают:

Операции Пояснения Примеры Дальнейшее объяснение
САДД Добавляет значение в набор SADD цвета "розовый"
УЧАСТНИКИ возвращает члены набора Цвета SMEMBERS вернет все элементы заданных цветов
СРЭМ Удаляет членов набора SREM цвета "розовый" Вернет 1, если розовый существует в списке, и 0 в противном случае

Хэш-карты

Хеш-карта — это группа пар ключ-значение. Однако хэш-карта не может быть вложенной. Давайте рассмотрим случай человека с именем, адресом электронной почты и номером телефона

HSET person name "Joe" # Adds the key-value pair {name : joe} to the hashmap
HSET person email "[email protected]" # Adds the key-value pair {email : [email protected]} to the hashmap
HSET person phone_number " 2345656655413" # Adds the key-value pair {number : ....} to the hashmap

команду HGET можно использовать для получения значения определенного ключа в хэш-карте

HGET person name # returns "Joe"

команда HGETALL для всей пары ключ-значение в хэш-карте

HGETALL person 

1) "name"
2) "Joe"
3) "email"
4) "[email protected]"
5) "phone_number"
6) " 2345656655413"

команда HDEL удаляет пару ключ-значение по ее ключу

HDEL person name # removes {name : joe}

команда HEXISTS проверяет, существует ли ключ в хеш-наборе

HEXISTS person name # returns 0 because we've deleted it before

Это большинство основных команд, которые должен знать разработчик.


Общие вопросы на собеседовании

  1. Каково полное значение Redis?: Redis означает REmote DIctionary Server

  2. Чем Redis отличается от традиционных баз данных, таких как MySQL?: Redis работает в основной памяти и имеет базовые операции для быстрого доступа к значениям, в отличие от SQL, который находится на диске и имеет широкий спектр операций crud.

  3. Каковы ограничения Redis в отношении размера и типа данных?: Redis предназначен для хранения значений, которые помещаются в память компьютера. Он не подходит для сложных реляционных моделей с соединениями или для структурирования больших BLOB-объектов.

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

  5. Когда следует использовать типы данных List в Redis?: списки отлично подходят для устойчивых атомарных очередей, очередей заданий, журналов, буферов и многих других случаев использования.

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

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

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

Copyright© 2022 湘ICP备2022001581号-3