2016-04-11 8 views

答えて

1

HINCRBY操作は、インクリメント操作後に新しい値を返します。

redis> HSET myhash field 5 
(integer) 1 
redis> HINCRBY myhash field 1 
(integer) 6 
redis> HINCRBY myhash field -1 
(integer) 5 

あなたHINCRBY操作が-1を返した場合、それはこのユーザーのfollowerCountが0だった、それゆえに減少してはならないことを意味します。 したがって、HSETを0にしてゼロにすることができます。 より良いアプローチは、あろうRedisのtransaction持っているだろう:

  • 最初に、ゼロよりも大きい場合、それ場合と-1インクリメント
  • HINCRBYを行う
  • 、HGETを使用して値を確認しますゼロである、何もしない。
関連する問題