Очистить ключи с массивом - РЕДИС - PullRequest
0 голосов
/ 11 июля 2020

Я пытаюсь найти наиболее эффективный способ очистки нескольких ключей, используя массив идентификаторов пользователей для моего сайта аукциона.

Когда пользователь делает ставку на аукционе с указанием c, его идентификатор пользователя получает добавлен в массив участников на указанном c аукционе. Ключ используется для страницы активных ставок. Если пользователь делает ставку, то другим участникам торгов в biddingGroup необходимо очистить кэш ключей. Единственный способ, которым я могу это сделать, - это

  for (let i = 0; i < biddingGroup.length; i++) {
            redisConnection.client.del("active-bid-" + biddingGroup[i], function (err, response) {
              if (response == 1) {
                console.log("Deleted active bid pages from cache")
              } else {
                console.log("Cannot delete")
              }
            })
          }

, но я считаю, что это неэффективно. Есть ли способ лучше? Я ценю любую помощь!

1 Ответ

1 голос
/ 11 июля 2020

Этот подход без зацикливания должен быть более эффективным, если мы говорим о 10 или 100 клавишах:

redisConnection.client.del(...biddingGroup.map(e => `active-bid-${e}`), function (err, response) {
// code
}

Для 1000 или более, используя обертку в al oop, которая обрабатывает около 100 .. 1000 ключей за раз имеет смысл imo.

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