What is the difference between HSET and HMSET method in redis database

DatabaseRedis

Database Problem Overview


In my application im using redis database.I have gone through their documentation but i couldn't find the difference between HSET and HMSET.

Database Solutions


Solution 1 - Database

HSET used to be able to set only one key-value pair. And if you needed to set several at once, you would have to use HMSET (M for multi). That was changed a few years ago, to allow both commands to accept multiple pairs. And now HMSET is redundant.

From official documentation:

> As per Redis 4.0.0, HMSET is considered deprecated. Please use HSET in new code.

Solution 2 - Database

HSET key field value:

Sets field in the hash stored at key to value. If key does not exist, a new key holding a hash is created. If field already exists in the hash, it is overwritten.

HMSET key field value [field value ...]

Sets the specified fields to their respective values in the hash stored at key. This command overwrites any existing fields in the hash. If key does not exist, a new key holding a hash is created.

For more redis commands information, click here.

Solution 3 - Database

The only difference between the commands HSET and HMSET is the return value of the commands.

HSET return value (Integer reply):

  • # if the field is a new field in the hash and value was set. (where # is the number of new fields created )
  • 0 if the field already exists in the hash and the value was updated.

HMSET returns a simple string as a reply.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionsachinView Question on Stackoverflow
Solution 1 - DatabaseSergio TulentsevView Answer on Stackoverflow
Solution 2 - DatabaseHrishikesh MishraView Answer on Stackoverflow
Solution 3 - DatabaseGunasekarView Answer on Stackoverflow