Эффективно обновить redis по значению члена - PullRequest
0 голосов
/ 29 октября 2018

Давайте предположим, что у меня есть следующие три пары k / v:

user+123 = {
   'name': 'tom',
   'company': 'nike'
   'status': 0
}

user+199 = {
   'name': 'sarah',
   'company': 'nike'
   'status': 0
}

user+359 = {
   'name': 'brad',
   'company': 'nike'
   'status': 0
}

Но предположим, что может быть любое количество этих идентификаторов пользователей (на самом деле, могут быть различные другие типы объектов, такие как пользователи,компаний, документов и т. д.), и это может быть много миллионов.

Что было бы наиболее эффективно, чтобы сделать следующее обновление:

update user* set status=1 where company=nike

Например, сделать это для одного объектаЯ мог бы сделать:

r.set('user+123') = {
   'name': 'tom',
   'company': 'nike'
   'status': 1 // changed here
}

Возможно, решение, показывающее, как использовать поиск redis, было бы лучшим подходом здесь?В отличие от необходимости перебирать все объекты и проверять значения объектов.

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