redis哈希(hash)操作
![](https://img.haomeiwen.com/i2608446/72a332af9ca3c648.png)
hash:他依旧是一个KV键值对,K是字符串V是对象,或者更具体的说V是键值对
K是字符串 V是键值对
操作:
【1 : hset/hget/hmset/hmget/hgetall/hdel】:设值、取值、设多值、取多值,取所有值,删除
hset stu id 1:(设值stu的id属性为1,键为stu,值为id:1。注意:hash的值是键值对)
hget stu id:(获取stu的id属性)
hmset stu name lvfang age 18 class 7/1:(同时设值stu的name,age,class属性)
hmget stu name age class:(同时取值stu的name,age,class)
hgetall stu :(获取stu的所有键值对属性值)
hdel stu id:(删除stu的id属性及其值)
![](https://img.haomeiwen.com/i2608446/742c55b5c4b22066.png)
【2 : hlen获取key的属性个数】
hlen stu
![](https://img.haomeiwen.com/i2608446/ed39fc53f46ffe91.png)
【3 : hexists key 在key里面的某个值的key】key中是否存在其属性,存在返回1,反之返回0
hexists stu name :(stu中是否存在name属性)
![](https://img.haomeiwen.com/i2608446/401a8ac978d949b0.png)
【4 : hkeys/hvals key】获取所有的K 获取所有的V
hkeys stu
hvals stu
![](https://img.haomeiwen.com/i2608446/eff1bf8d02ab2e79.png)
【5 : hincrby/hincrbyfloat key 属性 增量】给key的某个数字属性加值
hincrby stu age 2:(给stu的age属性+2)
hincrbyfloat stu score 1.5:(给stu的score属性+1.5)
![](https://img.haomeiwen.com/i2608446/42c134ee53ea1ca0.png)
【6 : hsetnx key 属性 值】给key设置属性,有则不设返回0,反之返回1
hsetnx stu address 北京朝阳
![](https://img.haomeiwen.com/i2608446/7cfffcadc80e73c0.png)
常用API:
![](https://img.haomeiwen.com/i2608446/4c2ba2a5198cf3d9.png)
![](https://img.haomeiwen.com/i2608446/3eaf13302b2e186b.png)
【redis处理hash的有效时间】
redis没有提供直接设置hash的过期时间命令,但可以分步骤实现
利用expire设置有效时间
hset person name xiaojiang #设置key为person的hash
expire person 100 #给person单独设置过期时间
ttl person #查看过期时间
![](https://img.haomeiwen.com/i2608446/864fcfecb044235b.png)