Redisのhashテーブルのfieldのvalue自己増加はhincrbyで

1853 ワード

Redis HINCRBYコマンドは、フィールドに格納されるインクリメンタルキーハッシュの数を増やすために使用される.キーが存在しない場合、新しいkeyはハッシュによって作成されます.フィールドが存在しない場合は、値が0に設定される前に操作します.
整数を返します.フィールドの付加価値操作後の値です.
redis HINCRBYコマンドの基本構文は次のとおりです.
redis 127.0.0.1:6379> HINCRBY KEY_NAME FIELD_NAME INCR_BY_NUMBER 
redis 127.0.0.1:6379> HSET myhash field1 20
(integer) 1
redis 127.0.0.1:6379> HINCRBY myhash field 1
(integer) 21
redis 127.0.0.1:6379> HINCRBY myhash field -1
(integer) 20



HINCRBY key field increment
ハッシュテーブルkeyのドメインfieldの値にインクリメンタルincrementを追加します.
増分は負であってもよく、所与のドメインを減算することに相当する.
keyが存在しない場合、新しいハッシュテーブルが作成され、HINCRBYコマンドが実行されます.
ドメインfieldが存在しない場合、コマンドを実行する前にドメインの値は0に初期化されます.
文字列値を格納するドメインfieldに対してHINCRBYコマンドを実行するとエラーが発生します.
本動作の値は64ビット(bit)符号付き数字表示に制限される.
使用可能なバージョン:
>= 2.0.0
時間の複雑さ:
O(1)
戻り値:
HINCRBYコマンドを実行すると、ハッシュテーブルkeyのドメインfieldの値が表示されます.
# increment    

redis> HEXISTS counter page_view    #        
(integer) 0

redis> HINCRBY counter page_view 200
(integer) 200

redis> HGET counter page_view
"200"


# increment    

redis> HGET counter page_view
"200"

redis> HINCRBY counter page_view -50
(integer) 150

redis> HGET counter page_view
"150"


#            HINCRBY  

redis> HSET myhash string hello,world       #         
(integer) 1

redis> HGET myhash string
"hello,world"

redis> HINCRBY myhash string 1              #       ,  。
(error) ERR hash value is not an integer

redis> HGET myhash string                   #     
"hello,world"