【Redis入門】INCRBYFLOATコマンドで浮動小数点値をインクリメントする方法
このチュートリアルでは、Redisデータストア内のキーに保存された「浮動小数点数を表す文字列」の値を、指定した値だけ増加させる方法について解説します。この操作には、RedisのINCRBYFLOATコマンドを使用します。
INCRBYFLOATコマンドとは
INCRBYFLOATコマンドは、キーに格納された浮動小数点数を表す文字列の値に対し、指定した増分値を加算するためのコマンドです。主な仕様は以下の通りです。
- キーが存在しない場合は、まず新しいキーが作成され、値が0に設定された後にインクリメント操作が実行されます。
- キーが存在しても、格納されている値のデータ型が文字列型以外の場合や、倍精度浮動小数点数(double)として表現できない文字列が格納されている場合は、エラーが返されます。
- 増分値には負の数も指定でき、その場合は減算として動作します。
構文
redis host:port> INCRBYFLOAT <keyname> <increment>
出力
- (string) reply : インクリメント操作実行後のキーの値を表す文字列
使用例
実際のコマンド実行例は以下の画像をご覧ください。

具体的な流れとしては、まず SET コマンドなどでキーに初期値を設定し、その後 INCRBYFLOAT を実行します。
redis 127.0.0.1:6379> SET score 10.5 OK redis 127.0.0.1:6379> INCRBYFLOAT score 0.1 "10.6"
利用時の注意点
- 内部計算は倍精度浮動小数点数で行われ、結果は小数点以下17桁の精度で文字列として保存されます。末尾の「0」は自動的に削除されます。
- 非常に大きな数値や高精度な小数を扱う場合、誤差が生じる可能性があるため、金額計算など厳密な精度が求められる用途では注意が必要です。
- 対象のキーにリストやハッシュなど文字列以外のデータ型が格納されていると、
WRONGTYPEエラーが発生します。
参考資料
- INCRBYFLOATコマンド公式ドキュメント(Redis公式サイト)
以上、Redisデータストアに保存された浮動小数点値を表す文字列をインクリメントする方法について解説しました。この記事がお役に立てたなら、ぜひコメント欄でご感想をお聞かせください。また、周りの方へのシェアも大歓迎です。
<- 文字列(String)コマンド一覧へ戻る
-
Redis文字列型コマンド徹底解説 – データストアの文字列値を管理する全24コマンド
文字列(String)は文字が連なったデータであり、Redisにおける最も基本的かつ重要なデータ型の一つです。Redisでは、キーに対して文字列を値として保存することができ、専用のコマンドを使うことで、その保存・管理・取得を柔軟に行えます。本記事では、Redisデータベース内の文字列値を操作するための主要なコマンドを、構文や使用例とあわせて詳しく解説します。 基本構文 redis host:port> <コマンド名> <キー名> 使用例 Redis文字列値の管理コマンド一覧 以下は、Redisデータベース内の文字列値を管理するうえで重要なコマンドの一覧です。用途
-
Redisでキーに文字列値を設定する方法を徹底解説 – SET / SETNX / SETEX / PSETEX コマンドの使い方
このチュートリアルでは、Redisのデータストア上で指定したキーに文字列値を設定する方法について、SET、SETNX、SETEX、PSETEX の4つのコマンドを使って詳しく解説します。それぞれのコマンドの動作の違いや使い分けのポイントもあわせて紹介するので、Redisの文字列操作をマスターしたい方はぜひ参考にしてください。 SETコマンドとは SETコマンドは、指定したキーに文字列値を設定するための最も基本的なコマンドです。キーがすでに存在する場合は、その型に関係なく値が上書きされます。また、キーに設定されていた以前の有効期限(TTL)も削除される点に注意が必要です。 SETコマンドのオプシ