【五】redis数据结构之hash,命令及其时间复杂度,与string在存储结构化信息时的优缺点对比

hash

hash键值结构,其中field不能相同,value可以相同。

key                     field          value

user:1:info          name        sid

                           age           27

                           email        37024760@qq.com

跟HBase类似,只是没有列族的概念。可以把key看成一行的主键,field是一行中的列,value是单元格内的值。

所有hash命令都以h开头

hset key field value 给hash key指定的field设置值,该field不存在就添加

hget key field 获取指定的hash key的field的值

hgetall key 获取指定hash key的所有的field的值  这个命令谨慎使用,量大时会堵塞

hkeys key 获取hash key的所有的field

hvals key 获取hash key的所有的value

hdel key field 删除指定的hash key的field

hexists key field 判断一个hash key的filed 是否存在,存在返回1,不存在返回0

hlen key 获取hash key field的个数

hmget key field1 field2 field3 批量获取指定hash key的field的值

hmset key field1 value1 field2 value2 field3 value3 批量设置指定hash key的field的值

时间复杂度

将用户信息缓存到redis中选择用string还是hash的比较

string 1:把所有用户信息转成json格式存到value中。

如 key:user:1:info

value:{“id”:1,"name":"sid","age":27}

string 2: 每个属性一个key,如 

key:user:1:id

value:1

key:user:1:name

value:sid

key:user:1:age

value:27

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值