redis常用的数据类型以及每种数据类型的特点,redis的六种数据类型

  redis常用的数据类型以及每种数据类型的特点,redis的六种数据类型

  Yyds干货库存

  前言我们都知道Redis提供了丰富的数据类型,常见的有五种:String(字符串)、Hash(哈希)、List(列表)、Set(集合)和Zset(有序集)。

  今天我们来详细说说Redis的五种常见数据类型之一hash

  结构类型

  结构的存储值

  结构读写能力

  哈希

  包含键值对的无序哈希表;

  添加、获取和删除单个元素;

  应用场景:缓存对象、购物车等。

  简介Hash是一组键值对,其中value的形式如下:value=[{field1,value1},{fieldN,valueen}]。哈希特别适合存储对象。

  HashString对象和HashString对象的区别如下图所示:

  实现内部哈希类型的底层数据结构由压缩列表或哈希表实现:

  如果hash类型元素个数小于512(默认值,可通过hash-max-ziplist-entries配置)且所有值小于64字节(默认值,可通过hash-max-ziplist-value配置),Redis将使用压缩列表作为Hash类型的底层数据结构;如果哈希类型元素不满足上述条件,Redis将使用哈希表作为哈希类型的底层数据结构。在最新版本的Redis中,压缩列表数据结构已经被放弃,它已经由listpack数据结构实现。

  公共命令#存储散列表键的键值。

  # HSET关键字段值[字段值.]

  127.0.0.1:6379 HSET usr1名称sid10t

  (整数)1

  HSET usr1姓名sid10t年龄19

  (整数)1

  #获取与哈希表键对应的字段键值

  # HGET关键字段

  127.0.0.1:6379 HGET usr1名称

  sid10t

  #在散列表键中存储多个键值对

  # HMSET关键字段值[字段值.]

  127 . 0 . 0 . 1:6379 HMSET usr 2 name sidiot 18岁

  好

  #批量获取哈希表关键字中的多个字段键值

  # HMGET关键字段[field.]

  127.0.0.1:6379 HMGET usr2名称年龄

  1)“西迪奥”

  2) 18

  #删除哈希表键中的字段键值

  # HDEL关键字段[字段.]

  127.0.0.1:6379 HDEL usr1年龄

  (整数)1

  127.0.0.1:6379 HDEL usr2名称年龄

  (整数)2

  #返回哈希表键中字段的数量

  # HLEN键

  127.0.0.1:6379 HLEN usr1

  (整数)1

  127.0.0.1:6379 HLEN usr2

  (整数)0

  #返回哈希表键中的所有键值

  # h金属键

  127.0.0.1:6379总汞usr1

  1)“名称”

  2)“sid 10t”

  127.0.0.1:6379总汞usr2

  (空数组)

  #为哈希表关键字中的字段关键字值添加增量

  # HINCRBY关键字段增量

  127.0.0.1:6379 HINCRBY usr1年龄1

  (整数)19

  #确定哈希表中指定的字段是否存在。

  # HEXISTS关键字段

  127.0.0.1:6379 HEXISTS usr1名称

  (整数)1

  127.0.0.1:6379 HEXISTS usr1信息

  (整数)0

  #获取哈希表中的所有字段

  # HKEYS键

  127.0.0.1:6379港元

  1)“名称”

  2)“年龄”

  1:6379港元

  (空数组)

  #获取哈希表中的所有值

  # HVALS键

  127.0.0.1:6379 HVALS usr1

  1)“sid 10t”

  2) 19

  127.0.0.1:6379 HVALS usr2

  (空数组)应用场景缓存对象的Hash类型(key,field,value)的结构和对象(object id,attribute,value)的结构类似,也可以用来存储对象。

  我们以用户信息为例。它在关系数据库中的结构如下:

  用户界面设计(User Interface Design的缩写)

  名字

  年龄

  一个

  sid10t

  18

  2

  西迪奥特

  16

  我们可以使用下面的命令将用户对象的信息存储到哈希类型中:

  #存储哈希表的键值uid:1

  HSET uid1姓名sid10t年龄18

  (整数)2

  #存储哈希表的键值uid:2

  127.0.0.1:6379 HSET uid2姓名西迪奥16岁

  (整数)2

  #获取用户id为1的哈希表中的所有键值

  127.0.0.1:6379金属指南1

  1)“名称”

  2)“sid 10t”

  3)“年龄”

  4) 18

  # .Redis哈希存储结构如下:

  它是在字符串类型的应用场景中引入的。String Json也是一种存储对象的方式。那么,在存储对象时,是用字符串json还是Hash呢?

  一般对象存储在String Json中,对象中一些经常变化的属性可以提取出来以Hash类型存储。

  购物车的用户id是key,商品id是field,商品数量是value,正好构成了购物车的三个元素,如下图所示。

  涉及的命令如下:

  添加商品:HSET购物车:{用户id} {商品id} 1添加数量:HINCRBY购物车:{用户id} {商品id} 1总商品:HLEN购物车:{用户id}删除商品:HDEL购物车:{用户id } {商品id }获取购物车中的所有商品:HGETALL购物车:{用户id }目前Redis中只存储商品id。当商品的具体信息显示回来后,需要用商品ID查询一次数据库,才能得到商品的完整信息。

  版权归作者所有:原创作品来自博主小二上九8,转载请联系作者取得转载授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关于redis数据库入门详细介绍图片,redis数据库的使用,关于Redis数据库入门详细介绍
  • redis队列操作命令,redis 循环队列
  • redis队列操作命令,redis 循环队列,redis实现简单队列
  • redis部署应用服务器上,redis如何启动服务器
  • redis部署应用服务器上,redis如何启动服务器,搭建Redis服务器步骤详细介绍
  • redis缓存穿透和击穿解决方案,redis缓存穿透,缓存雪崩解决
  • redis缓存穿透和击穿解决方案,redis缓存穿透,缓存雪崩解决,redis缓存穿透解决方法
  • Redis缓存,redis和缓存
  • Redis缓存,redis和缓存,Redis缓存详解
  • redis的配置,启动,操作和关闭方法有哪些,关闭redis的命令,Redis的配置、启动、操作和关闭方法
  • redis的主从配置方法详解图,Redis主从配置
  • redis的主从配置方法详解图,Redis主从配置,redis的主从配置方法详解
  • redis界面工具,mac安装redis可视化工具
  • redis界面工具,mac安装redis可视化工具,推荐几款 Redis 可视化工具(太厉害了)
  • redis正确使用的十个技巧是什么,redis正确使用的十个技巧有哪些
  • 留言与评论(共有 条评论)
       
    验证码: