Атомарный GETSET для хэша в Redis

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

Время от времени я собираюсь агрегировать количество хитов по URL в другом хранилище данных. Для этого я хотел бы получить количество хитов и обнулить его. Я не могу найти операцию, подобную GETSET, которая работает с хэшами. Если я запишу хит между получением счетчика хит и сбросом его на ноль, он будет потерян без какой-либо атомарной операции.

Я что-то упускаю? Одной из альтернатив, которая пришла мне в голову, было бы хэширование URL в коде клиента (python) и использование строковых команд, но это кажется немного хаком, когда Redis сам предоставляет хэш.

8
задан Edward Dale 9 October 2011 в 09:23
поделиться