Процесс
Шаг 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 за миллисекунды.
Полезные чтения:
Ссылка на репо
Пожалуйста, не стесняйтесь оставлять свои ценные отзывы, предложения или обзоры кода ❤️.