Redis五大基本数据类型之Hash类型
一、Hash类型数据的基本操作
1.1 Hash类型数据的基本性质
-
1.2
Hash类型数据的基本命令 为
Hash类型数据添加字段和取出特定字段的值hset key field value:添加一个哈希key-Map,对应的Map为field:value- 当对应的
field已经存在时,为更新操作
- 当对应的
hget key field:获取哈希key的字段filed的值127.0.0.1:6379> hset myhash name xiaohe(integer) 1127.0.0.1:6379> hget myhash name"xiaohe"
一次性为
Hash类型数据添加多个字段和获取多个字段的值hmset key field1 value1 ... fieldn valuen:同时为key添加或更新多个字段的值hmget key field1 ... fieldn:同时获取key的多个字段的值127.0.0.1:6379> hmset myhash name xiaohe1 name2 xiaohe2OK127.0.0.1:6379> hmget myhash name name21) "xiaohe1"2) "xiaohe2"
hgetall key:获取Hash key中的所有field以及对应的value127.0.0.1:6379> hgetall myhash1) "name"2) "xiaohe1"3) "name2"4) "xiaohe2"
hdel key field:删除Hash key中指定的field对应的键值对127.0.0.1:6379> hgetall myhash1) "name"2) "xiaohe1"3) "name2"4) "xiaohe2"127.0.0.1:6379> hdel myhash name(integer) 1127.0.0.1:6379> HGETALL myhash1) "name2"
hlen key:获取Hash key的内容长度,一个field-value为一个值127.0.0.1:6379> HGETALL myhash1) "name2"2) "xiaohe2"127.0.0.1:6379> hlen myhash(integer) 1
hexists key field:判断Hash key中指定字段field是否存在127.0.0.1:6379> hexists myhash name2(integer) 1127.0.0.1:6379> hexists myhash nam(integer) 0
只获取
Hash中的filed或valuehkeys key:获取Hash key中的所有字段hvals key:获取Hash key中的所有值127.0.0.1:6379> hexists myhash name2(integer) 1127.0.0.1:6379> hexists myhash nam(integer) 0
自增自减
hincrby key field increment:设置Hash key的字段field增加incrementHash没有hdecrby命令,自减时将increment设为负数即可127.0.0.1:6379> hset key num 3(integer) 1127.0.0.1:6379> hincrby key num 6(integer) 9127.0.0.1:6379> hincrby key num -1(integer) 8
hsetnx key field value:当Hash key中没有字段field时插入键值对field-value127.0.0.1:6379> hsetnx key num1 0(integer) 1127.0.0.1:6379> hsetnx key num1 2(integer) 0
1.3
Hash的应用用
Hash用来保存经常变动的用户的信息,更适合于对象的存储,String更适合字符串的存储
