1.HDEL
语法:HDEL key
field
说明:该操作的时间复杂度为O(1)。移除存储在key上的哈希中的指定域。
返回值:如果在哈希中存在指定的域并且被移除,返回值为1;如果指定的域不存在或者key不存在,返回值为0。
该命令自1.3.10版本后可用。
2.HEXISTS
语法:HEXISTS
key
field
说明:该操作的时间复杂度为O(1)。查看存储在key上的哈希中是否存在指定的域。
返回值:如果哈希中包含指定的域,那么返回值为1;如果哈希中不包括指定的域或者key不存在,那么返回值为0。
该命令自1.3.10版本后可用。
3.HGET
语法:HGET
key
field
说明:该操作的时间复杂度为O(1)。返回存储在key上的哈希中与field域关联的值。
返回值:返回与field域关联的值,如果在哈希中该域不存在或者key不存在,那么返回者为nil。
该命令自1.3.10版本后可用。
4.HGETALL
语法:HGETALL
key
说明:该操作的时间复杂度为O(N),此处N为hash的大小。返回存储在key上的哈希中所有的域和相关联的值。在返回值中,每一个域的名称后面会跟着相关联的值。因此,响应结果的长度是hash的大小的两倍。
该命令自1.3.10版本后可用。
5.HINCRBY
语法:HINCRBY
key field
increment
说明:该操作的时间复杂度为O(1)。将存储在key上的哈希中field域相关联的值加上由increment指定的值。如果key不存在,那么将会创建该key,并且其值为hash类型。如果field域不存在或者具有一个不能表示为整型的字符串的值,那么在执行该操作前会将该值设置为0。HINCRBY支持的数据范围限定在64为有符号整数范围内。
返回值:返回增量操作完成后field域所关联的值。
该命令自1.3.10版本后可用。
6.HKEYS
语法:HKEYS
key
说明:该操作的时间复杂度为O(N),此处N为hash的大小。返回存储在key上的哈希中所有域的名称。
该命令自1.3.10版本后可用。
7.HLEN
语法:HLEN
key
说明:该操作的时间复杂度为O(1)。返回存储在key上的哈希中所包含的所有域的数目。
返回值:返回hash中字段的数目,如果key不存在,那么返回值为0。
该命令自1.3.10版本后可用。
8.HMGET
语法:HMGET
key field [field
...]
说明:该操作的时间复杂度为O(N),此处N为被请求的字段的数目。返回存储在key上的哈希中各个指定域相关联的值。对于在哈希中不存在的域,返回值为nil。因为一个不存在的key被当做是空哈希对待,对一个不存在的key进行HMGET操作将会返回一个nil值的列表。
返回值:与指定域相关联的值的列表,并且按照它们被请求的顺序给出。
该命令自1.3.10版本后可用。
9.HMSET
语法:HMSET
key field value [field value
...]
说明:该操作的时间复杂度为O(N),此处N为将要被设置其值的域的个数。设置存储在key上的哈希中指定域的值。该命令会复写哈希中已经存在的域。如果key不存在,那么将会创建一个其值为哈希类型的新key。
返回值:返回状态码。
该命令自1.3.8版本后可用。
10.HSET
语法:HSET
key field
value
说明:该操作的时间复杂度为O(1)。设置存储在key上的哈希中指定域的值。如果key不存在,那么将会创建一个持有哈希值的新key。如果指定的域在哈希中已经存在,那么其值将会被重写。
返回值:如果哈希中的域是一个新域并且其值被设置,那么返回值为1;如果哈希中已经存在该域并且该域被更新,那么返回值为0。
该命令自1.3.10版本后可用。
11.HSETNX
语法:HSETNX
key field
value
说明:该操作的时间复杂度为O(1)。在指定域不存在的情况下,设置存储在key上的哈希中该域的值。如果该key不存在,那么将会创建一个持有哈希值的新key。如果指定的域已经存在,那么该操作不起作用。
返回值:如果指定的域在哈希中是一个新域并且其值被设置,那么返回值为1;如果哈希中该域已经存在,那么该命令不起作用。
该命令自1.3.8版本后可用。
12.HVALS
语法:HVALS
key
说明:该操作的时间复杂度为O(N),此处N为哈希的大小。返回存储在key上的哈希中存储的所有值。
返回值:返回哈希中存储的值的列表,如果该key不存在,那么将会返回一个空列表。
该命令自1.3.10版本后可用。