Redis ハッシュ型で一度に複数セットする方法


hmsetを利用する

127.0.0.1:00000 > hset hash field1 value1 field2 value2
=> (error) ERR wrong number of arguments for 'hset' command

通常のhsetでは引数エラーになってしまう。

127.0.0.1:00000> hmset hash field1 value1 field2 value2
=> OK

127.0.0.1:00000> hget hash field2
=> "value2"

hsetではなくhmsetを使うことで一度で複数フィールドとバリューをセットすることができる

戻り値について

127.0.0.1:00000> hset hoge field1 value1
(integer) 1
127.0.0.1:00000> hset hoge field1 value2
(integer) 0

通常のhsetでは新たにセットする場合、戻り値は1 更新する場合は0が返ってくる。

127.0.0.1:00000> hmset hash field1 value1 field2 value2
=> OK

hmsetの場合はfieldがないは追加され、ある場合は更新される
そのため必ずOKが返ってくる