Процесс

Шаг 1: (Подключить Redis)

Подключите клиент Redis к приложению вашего узла.

Шаг 2: (Сгенерируйте инвайт-код)

Создайте случайную строку буквенно-цифровых символов.

Шаг 3: (Убедитесь, что инвайт-код не используется)

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

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

Шаг 4: (Сохранить код приглашения в Redis)

Сохраните код приглашения (ключ) и идентификатор ресурса как значение в хранилище значений ключа Redis.

Шаг 5: (Принятие кода приглашения)

Выполните операцию get с инвайт-кодом в качестве значения. Если значение существует, используйте resource-id, и можно явно очистить код приглашения, используя del в хранилище redis (в зависимости от варианта использования кода одноразового использования), в противном случае Redis в любом случае будет очищать ключ после expire-timeout используемого значения. операцией set.

Код

Почему Redis помогает в масштабировании для этого варианта использования?

  • Ключ-значение в памяти считывается и пишется очень быстро в Redis-Store.
  • В случае использования инвайт-кода использование хранилища ключ-значение redis помогает ускорить уникальные проверки и поиск.
  • Функция Redis set timeout timeout является надежной и быстрой для неявного истечения срока действия кода приглашения.
  • Механизм повторных попыток во многом выигрывает от извлечения данных из хранилищ значений ключей Redis за миллисекунды.

Полезные чтения:





Ссылка на репо



GitHub — gaurav1999/redis-invite-code
Внесите свой вклад в разработку gaurav1999/redis-invite-code, создав учетную запись на GitHub.github.com



Пожалуйста, не стесняйтесь оставлять свои ценные отзывы, предложения или обзоры кода ❤️.