Redis 少数を使ってハッシュ値のインクリメントを実行する

Redis 少数を使ってハッシュ値のインクリメントを実行する

Redisで、少数を使ってハッシュ値のインクリメントを実行する手順を記述してます。「hincrbyfloat」にキーとフィールドとインクリメントする値を指定します。ここでは、実際に実行した結果を掲載してます。

環境

  • OS CentOS Stream release 9
  • Redis 7.0.5

手順

少数を使ってハッシュ値のインクリメントを実行するには、「hincrbyfloat」を使用します。

hincrbyfloat キー名 フィールド名 値

実際に、実行してみます。

127.0.0.1:6379> hset key1 hash1 1
(integer) 0

127.0.0.1:6379> hincrbyfloat key1 hash1 1.1
"2.1"

127.0.0.1:6379> hincrbyfloat key1 hash1 1.1
"3.2"

127.0.0.1:6379> hget key1 hash1
"3.2"

少数を使って、インクリメントが実行されていることが確認できます。

整数を指定することも可能です。

127.0.0.1:6379> hset key1 hash1 1
(integer) 0

127.0.0.1:6379> hincrbyfloat key1 hash1 100
"101"

127.0.0.1:6379> hincrbyfloat key1 hash1 100
"201"

127.0.0.1:6379> hget key1 hash1
"201"

マイナスを指定

マイナスを指定すると、マイナスされていきます。

127.0.0.1:6379> hset key1 hash1 1
(integer) 0

127.0.0.1:6379> hincrbyfloat key1 hash1 -1.1
"-0.1"

127.0.0.1:6379> hincrbyfloat key1 hash1 -1.1
"-1.2"

127.0.0.1:6379> hget key1 hash1
"-1.2"

数値でない場合

数値でない値を指定した場合は、エラーとなります。

127.0.0.1:6379> hincrbyfloat key1 hash1 "a"
(error) ERR value is not a valid float