Поиск по сайту:

Реальная графика: Для описания картинки необходимо 10к слов. Но едва ли можно описать какое-либо множество из 10к слов с помощью картинок. (Алан.Дж.Перлис)

Распределенная блокировка Redis

2 мин для чтения
FavoriteLoadingДобавить в избранное
6 апреля 2022
Установка и запуск WordPress на Ubuntu с кэшем Redis
В Redis под секционированием понимается разделение данных на несколько экземпляров. Это означает, что каждый Redis содержит часть всего вашего набора данных. Это удобная функция, особенно при работе с большими наборами данных.

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

 

Типы разделов Redis

В Redis есть два механизма разделения:

  1. Разделение диапазона
  2. Разбиение хэша

 

Разделение по рангу

Лучший способ объяснить разделение — использовать аналогию. Предположим, у вас есть четыре экземпляра Redis: R0, R1, R2 и R3. Кроме того, предположим, что вам нужно хранить ключи в формате user:[id].

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

При разбиении по диапазонам вы сопоставляете раздел своих данных с конкретным экземпляром. Например, вы можете взять ключи от пользователя: [id<0> – id<1000>] и сопоставить их с экземпляром R0. Экземпляр r1 может содержать подмножество ключей пользователя [id<1001> – id<2000>] и так далее.

Это самая простая и наиболее применимая форма разбиения в Redis. Тем не менее, это дает ограничение.

Для секционирования диапазона требуется таблица, которая сопоставляет определенный диапазон с соответствующим ему кластером.

Таблица сопоставления требует управления и применения для каждого секционированного типа данных.

 

Разбиение хэша

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

Например, если у нас есть ключ «fact», мы можем преобразовать его в число, используя функцию хэширования, такую ​​как CRC-16.

Это должно вернуть число как fact.

Затем Redis применяет к числу операцию по модулю и возвращает результат от 0 до 3.

Например:

8167 % 2

 

Приведенная выше операция должна вернуть 1. Затем Redis использует это значение, чтобы определить, в каком кластере должен храниться ключ. В нашем примере ключ «fact» хранится в экземпляре R1.

Примечание
В Redis операция хеширования выполняется иначе. Выше приведена просто аналогия.

 

Читать  5 вещей, о которых следует помнить при выполнении SQL-запросов в производственной базе данных

Преимущества разделения.

  1. Разделение позволяет нескольким экземплярам совместно использовать память и хранить данные.
  2. Разрешить масштабирование вычислительной мощности.

 

 Недостатки разделения

  1. Многоклавишная операция не поддерживается.
  2. Вы не можете выполнить транзакцию Redis, используя несколько ключей.
  3. Вносит двусмысленность при работе с настойчивостью.
  4. Сокращение или увеличение данных оказывается трудным.

 

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Читайте также

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close