Redis 数据类型--Hash

Posted 醉深梦始

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis 数据类型--Hash相关的知识,希望对你有一定的参考价值。

Hash

Hash的常用操作:

HSET key filed value //存储一个hash表的key值

HSETNX key filed value //存储一个不存在的hash表的key的值,注意:是key或者filed不存在时返回成功

HMSET key filed value [filed value ...] // 在一个hash表中存多个filed键值对

HGET key filed   //获取hash表的filed键值

HMGET key filed filed ... //批量获取一个hash表中的filed键值

HDEL key filed field ... //批量删除hash表中的键值

HLEN key //获取hash表中filed的数量

HGETALL key //返回hash表中所有的filed键值

HINCRBY key filed increment //给hash中的filed 键值加1

 

引用场景举例:

1、利用如下方式存储用户信息

HMSET user {userid}:name value {userid}:age value

存储:HMSET user 1:name fly 1:age 18

查看:HMGET user 1:name 1:age

2、电商购物车

  1、以用户id为key

  2、商品id为filed

  3、商品数量为value

 购物车操作:

  1)添加商品:hset cart:1001 10008 1(1001 为用户id ,10008 为商品id,添加一个到购物车中)

  2)增加数量:hincrby cart:1001 10008 1

  3)商品总量:hlen cart:1001 10008

  4)删除商品:hdel cart:1001 10008

  5)获取购物车所有商品:hgetall cart:1001

 

优点:

  1)同类数据归类整合存储,方便数据管理

  2)相比string操作消耗的内存和CPU更小

  3)相比string存储更加节省空间

缺点:

  1)过期功能不能用在filed 上,只能用在key上

  2)redis集群架构下不适合大规模使用(例如几亿的用户数据不可能都放到一个user下)

 

以上是关于Redis 数据类型--Hash的主要内容,如果未能解决你的问题,请参考以下文章

redis 数据类型Hash

redis常用数据类型之hash

redis常用数据类型之hash

Redis 的数据类型 - Hash 对象类型

Redis五大常见的数据类型之 Hash

带你掌握Redis数据类型:string和Hash