Redis обновляет значение zset - PullRequest
0 голосов
/ 21 февраля 2020

Я использую Redis для восстановления местоположения для указанного c IP в указанный c день.

Используйте ключ Redis: geoip.zset для хранения следующих данных:

row | value                     | score
--- | ------------------------- | -----
1   | 2020-02-20:100.100.101.2  | 18312
2   | 2020-02-20:110.81.152.217 | 18312
  • Счет означает дни с 1970-01-01. например: для '2020-02-20' будет 18312
  • Значение до ":" - это дата, когда я получил IP (после ":")

Позднее задача разрешит местоположение по IP, я сохраню их обратно в redis, как это:

row | value                                              | score
--- | -------------------------------------------------- | -----
1   | 2020-02-20:100.100.101.2@Taiwan/Taiwan/Taipei City | 18312
2   | 2020-02-20:110.81.152.217@China/Fujian/Fuzhou      | 18312

Я нашел ключевое слово в Google redis update zset, но большинство статей сосредоточено на наборе отсортированных обновлений.

Знаю, я использую глупый метод:

  1. Получить все значения по счету
  2. Удалить по счету
  3. Для-l oop, чтобы определить местоположение, и объедините результат
  4. For-l oop для восстановления в redis

Любая хорошая идея или более разумный рабочий процесс будут благодарны.

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