Hash是一个string类型的field和value的映射表,hash特别适合于对象存储,每一个hash能够存储2^32 - 1个键值对(40多亿)正则表达式
命令 | 命令描述 | 实例 |
---|---|---|
HMSET key field1 value1 [field2 value2] | 同时将多个field-value(域-值)对设置到hash表key中 | HMSET hash1 name 'zhuyl' age '24',HVALS hash1,返回值为:"zhuyl",“24” |
HMGET key field1 [field2] | 返回哈希表 key 中,一个或多个给定field的值,若是给定的field不存在于哈希表,那么返回一个 nil 值 | HMGET hash1 name1 age1 desc1,返回值:"qing" (nil) "piao" |
HVALS key | 获取hash表中全部值 | HVALS hash1,返回值:"zhuyl",“24” |
HGET key field | 获取存储在哈希表key中指定的field的值 | HGET hash1 name,返回值:"zhuyl" |
HGETALL key | 获取在哈希表中指定key的全部字段和值 | HGETALL hash1,返回值“name”"zhuyl" "age" "24" |
HEXISTS key field | 查看哈希表key中,指定的字段是否存在 | HEXISTS hash1 name,存在name字段则返回:1,HEXISTS hash1 desc,不存在desc字段则返回:0 |
HDEL key field1 [field2] | 删除一个或多个哈希表字段 | HDEL hash1 name age,返回2(表明删除字段的个数), |
HKEYS key | 获取全部哈希表key中的字段 | HKEYS hash1,返回值:“name” “age” |
HLEN key | 获取哈希表key中字段的数量 | HLEN hash1,返回值:2 |
HSET key field value | 将哈希表key中的字段field的值设为value | HSET hash1 name 'yu',返回值:0,执行HVALS hash1,返回:“yu” “24” |
HSETNX key field value | 只有字段field不存在时,设置哈希表字段的值 | HSETNX hash1 desc 'beuty',返回值:1;执行HVALS hash1,返回值:‘yu’ ‘24’,‘beuty’,HSETNX hash1 desc 'beuty111',若是字段field已经存在,则返回:0 |
HINCRBY key field increment | 为哈希表key中指定字段的整数值加上增量increment | HINCRBY hash1 age 3,返回增长以后的值:27 |
HINCRBYFLOAT key field increment | 为哈希表key中的指定字段的浮点数值加上增量increment | HINCRBYFLOAT hash1 age 1.5,返回值为+increment后的值:28.5 |
HSCAN key cursor [MATCH pattern] [COUNT count] | 迭代哈希表中的键值对,match用正则表达式过滤数据,count命令指定返回的数据的条数 | HSCAN hash1 0 MATCH ag* COUNT 10 |
HSTRLEN key field | 返回哈希表key中field字段的value值得长度,若是field或者value不存在,则返回:0,redis的版本>=3.2.0 | HSTRLEN hash1 name,返回值:2 |