一、简介
Hash是一个String类型的field和value的映射表,hash特别适合用于存储对象。Redis 中每个 hash 可以存储 2^32 - 1 键值对(40多亿)。
类似这种数据结构: key-value键值对模式不变,但是value里面又是field-value对应模式。
{
hash1 : {name: zhangsan,age : 18, sex: male},
hash2 : {name: lisi,age : 28, sex: male},
}
命令 | 使用说明 |
hset | 设置key中字段的值 |
hget | 获取key中字段的值 |
hmset | 批量设置key中的字段 |
hmget | 批量获取key中的字段的值 |
hgetall | 获取key中的所有的字段及值 |
hdel | 删除key对应field字段 |
hlen | 获取key中的字段field的个数 |
hexists | 判断key中的字段是否存在 |
hkeys | 返回对应key的所有field字段 |
hvals | 返回对应key的所有field字段对应的值 |
hincrby | 每次递增n |
hincrbyfloat | 和hincrby类似,增加的float类型的数据 |
hsetnx | 设置key中的字段的值,如果字段存在就忽略 |
hstrlen | 获取key中某个字段的值得长度 |
二、使用详解
【a】hset/hget/hmset/hmget/hgetall
- hset:设置key中字段的值;
- hget:获取key中字段的值;
- hmset:批量设置key中的字段;
- hmget:批量获取key中的字段的值;
- hgetall:获取key中的所有的字段及值;
如果对应的field不存在,返回nil:
【b】hdel / hlen
- hdel:删除key对应field字段;
- hlen:获取key中的字段field的个数;
【c】hexists key
- hexists :判断key中的字段是否存在,存在返回1,不存在返回0;
【d】hkeys/hvals
- hkeys:返回对应key的所有field字段;
- hvals:返回对应key的所有field字段对应的值;
【e】hsetnx
- hsetnx:设置key中的字段的值,如果字段存在就忽略;
【f】hstrlen
- hstrlen:获取key中某个字段的值得长度;
【g】hincrby/hincrbyfloat
- hincrby:每次递增n;
- hincybyfloat:和hincrby类似,增加的float类型的数据;
如果对应的field不存在,会新建一个filed,并将值赋予该field,如下图中score1这个field之前并不存在:
三、总结
以上就是关于redis中Hash数据类型常用命令的总结,更多命令的使用可以参考中文网站进行学习。如果文中有不对之处,还请大佬帮忙指正,相互学习。