В моем бизнес-приложении я планирую хранить баланс пользователя в кеш-сервере Redis, позволяя нескольким процессам потреблять баланс. Но в тот момент, когда сумма падает до 0, я хочу, чтобы процессы «терпели неудачу», потребляя баланс.У Redis есть функция decr, если функция
На данный момент я не могу этого достичь. Например, скажем, баланс равен 1 INR или $, и каждый из 2 потоков хочет его использовать. Каждый поток получает и decr. Поэтому иногда случается, что значение падает ниже 0, так как нет атомной операции, такой как «DECR IF», аналогичной «сравнивать и устанавливать».
Можно ли достичь этого любым другим способом?