0
В MySQL:Как обновить zset счет с «где положение» в Redis
update zset.1 set score = score + 10 where value = 1 and score > 100
Это означает, что он не будет обновляться, за исключением баллов составляет 100 GT
В Redis и программный код:
score = zscore zset.1 1
if (score > 100) {
score = zincrby zset.1 10 1
}
Это должно работать, но оно не является атомарным. Оценка будет обновляться несколько раз при обновлении одновременно
Кроме того, «WATCH» не подходит для моей ситуации, так как механизм RETRY будет проблемой производительности.