Redis——Hash类型

hash是一个键值对类型,适用于存储对象,类型java类型中的Map<String,Object>。

hash通过key(用户id)+field(属性),field可以存储对象的各种属性,可以避免redis中重复存储数据。如下图:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5ZCO56uv5bCP54y_,size_20,color_FFFFFF,t_70,g_se,x_16

 

1、hset key field value :添加一个用户数据,key为用id, field为对应属性标识,value为对应属性数据,一次可以添加一个属性:

//添加用户id为student001的name属性数据
//结果为:student001={name:zhansan}
hset student001 name zhansan 

2、hget key field :获取对应用户id的属性数据,key为用户id,field为属性:

//stu001={name:lisi,age:18,sex:男}

//获取stu001的name属性
//结果:“lisi”
hget stu001 name

//获取stu001的age属性
//结果:18
hget stu001 age

3、hmset key field1 value1 ... filedn valuen :批量添加属性数据:

//结果为:stu1={name:lisi,age:18,sex:男}
hmset stu1 name lisi age 18 sex 男

4、hexists key field :查看用户标识为key的属性field是否存在:

//stu={name:lisi,age:28}

//结果:false
hexists stu sex

//结果:true
hexists stu name

5、hkeys key :列举出key中所有属性标识:

//stu={name:lisi,age:18}

//结果:"name","age"
hkeys stu

6、hvals key:列举出key中所有属性数据:

//stu={name:lisi,age:18}

//结果:"lisi","18"
hvals stu

7、hincrby key field incrment :对key中的field属性值增加increment大小,field对应value值必须为整型才可以增加,否则不增加:

//stu={name:lisi,age:18}

//对属性age加5
//结果:stu={name:lisi,age:23}
hincrby stu age 5

//对属性name加5
//结果:出现错误,不合法操作
hincrby stu name 5

8、hsetnx key field value :只有key中field不存在才可以添加该属性:

//stu={name:lisi,age:18}

//添加属性:sex
//结果:stu={name:lisi,age:18,sex:男}
hsetnx stu sex 男

//添加属性:name
//结果:无法添加,name属性已经存在
hsetnx stu name wanwu

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

swttws.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值