码迷,mamicode.com
首页 > 其他好文 > 详细

Redis 数据类型--Hash

时间:2020-04-10 00:06:22      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:val   set   hle   购物   操作   架构   field   bsp   cpu   

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

标签:val   set   hle   购物   操作   架构   field   bsp   cpu   

原文地址:https://www.cnblogs.com/flycc/p/12670558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!