Redis 四:存储类型之散列类型

1.散列类型表达方式简介:
  ===========================================
  键        字段         值
  ===========================================
            前轮        --->富士康
            后轮        --->苹果
  宝马:    挡风玻璃    --->加多宝
            座椅        --->王老吉
            方向盘      --->恒大冰泉
  ===========================================
  散列类型更好的作用于同一个对象,不同属性,对应不同的值的情况下;
  比如使用字符串类型就无法很好的达到这一效果
  ===========================================
  宝马:前轮         --->富士康
  宝马:后轮         --->苹果
  宝马:挡风玻璃     --->加多宝
  宝马:座椅         --->王老吉
  宝马:方向盘         --->恒大冰泉
  ===========================================
  这样存储很容易的造成了不必要的空间浪费跟keys的无谓增多

2.赋值 hset 宝马 前轮 富士康

3.取值 hget 宝马 前轮

3.批量赋值 hmset 宝马 前轮 富士康 后轮 苹果

4.批量取值 hmget 宝马 前轮 后轮

5.获取所有键值信息 hgetall

6.判断字段是否存在 hexists 宝马 前轮 存在返回1,不存在返回0

7.判断字段是否存在,不存在则直接赋值 hsetnx 宝马 座椅 王老吉 ,如果"座椅"已存在,则不执行操作,如果"座椅"不存在,则设置"座椅",并将"座椅"的值设置为“王老吉”

8.增加数字(减的话设置为负数就好了)
  hset 宝马 轮子个数 3 //设置宝马的轮子个数为3个
  hincrby 宝马 轮子个数 1 //给轮子加1个 ,(命令将直接返回相加后的结果)

9.hdel 宝马 轮子个数
  假如那天宝马不需要轮子了,可以使用hdel删除它

===============================================
PS::
可以看出来redis的散列类型对于存储一对多这种关系
的数据尤为有用;因为那意味着不需要用字符串去存储
这些关系,大大的节约空间跟应用的复杂度;
===============================================

Redis 四:存储类型之散列类型

时间: 2024-10-05 12:44:18

Redis 四:存储类型之散列类型的相关文章

7、python基本数据类型之散列类型

前言:python的基本数据类型可以分为三类:数值类型.序列类型.散列类型,本文主要介绍散列类型. 一.散列类型 内部元素无序,不能通过下标取值 1)字典(dict):用 {} 花括号表示,每一个元素包含键(key)和值(value),key是一般是唯一的,如果重复最后的一个键值对   会替换前面的,value不需要唯一. 2)集合(set):用 {} 花括号表示,存放一个个元素,可以是任意类型,但元素不允许重复. 注意: d = {} 定义的是一个空字典 s = set() 定义的是一个空集合

Redis研究(四)—散列类型

散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他数据类型. 散列类型不能嵌套其他的数据类型.一个散列类型键可以包含至多2^32-1个字段. 一.介绍 散列类型适合存储对象:使用对象类别和ID构成键名,使用字段表示对象的属性,而字段值则存储属性值. 如果要关系数据中存储汽车对象: 数据是以二维表的形式存储的,这就要求所有的记录都有同样的属性,无法单独为某条记录增减属性.如果想要为ID为1的汽车增加生产日期属性,就需要把数据表更改

Redis散列类型

散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他数据类型,换句话说,散列类型不能嵌套其他的数据类型.一个散列类型的键可以包含至多2^32-1个字段.除了散列类型,Redis的其他数据类型同样不支持数据类型嵌套.比如集合类型的每个元素都只能是字符串,不能是另一个集合或散列表等.散列类型适合存储对象:使用对象类别和对象ID构成键名,使用字段表示对象的属性,而字段值则存储属性值.例如要存储ID为2的汽车对象,可以分别使用名为colo

散列类型、运算符优先级和逻辑运算

散列类型一.集合  集合的相关操作     &  交集  取两个集合中的重复项     |    并集  两个集合去重组合     -   差集  A集合 - B集合 返回 B集合中没有的值  反之亦然   ^  将两个集合的重复项删除,将不重复项组合         增:             set.add(object)    添加一个object到集合中,此object必须为不可变对象,如提供可变对象将报TypeError错误             set.update(object

Redis数据操作--字符串与散列键的区别

| 如果散列键能做的事情,字符串键也能做,那么 我们为什么不直接使用字符串键呢? | 散列的好处 -- 将数据放在同一个地方     # 散列可以让我们将一些相关的信息储存在同一个额地方,而不是直接分散地     储存在整个数据中里面,这不仅方便了数据管理,还可以尽量避免误操作发生.     # 举个例子,要删除字符串键记录的消息信息,我们需要输入三个键,而删除     散列键储存的消息信息,我们只要输入一个键     字符串键:id >> 10086; sender >> pet

Python散列类型和运算符

集合定义 集合的交 并 差 常见的运算符的用法 字典的定义 字典的 get  items  keys  pop  popitem  update  方法 三种逻辑运算 集合 集合特性 唯一性:不存在两个相同的元素 无序性:不存在索引 可变性:set集合是可变对象 两种定义方法(具有唯一性,自动去重) 直接定义   用大括号 set()   类型转换 三种运算 s1 & s2  交集 s1 |  s2  并集 s1 - s2   差集(补集,前一个有的,后一个没有的) 集合方法 增 add(值)

Redis常用命令入门4:集合类型

集合类型 之前我们已经介绍过了最基本的字符串类型.散列类型.列表类型,下面我们一起学习一下集合类型. 集合类型也是体现redis一个比较高价值的一个类型了.因为Redis的集合类型,所以我们可以很容易的在Redis中执行差集运算.交集运算.并集运算. 首先我们先介绍一下集合类型和列表类型的区别,其实学过面向对象的语言的同学应该都能猜到这些类型有什么不同. ①集合类型和列表类型还是都能存储2^32-1个字符串 ②集合类型是无序的,列表类型是有序的 ③集合类型是唯一的,列表类型的值是不唯一的 下面我

Redis散列表类型

散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他的数据类型. 一个散列类型键可以包含至多2^32 -1个字段. 命令 赋值 HSET key field value > HSET car price 500 (integer) 1 > HSET car name BMW (integer) 1 HSET 命令不区分插入和更新操作,当执行插入操作时HSET命令返回1,当执行更新操作时HSET命令返回0. 取值 HGET key

redis基本数据类型【2】-hash类型

一.概述 1.散列是一种典型的字典结构,filed和value的映射,但value只能存储字符串,不支持其他类型 2.一个散列类型最多包含 2^32 -1个字段 3.散列适合存储对象:使用对象和ID构成键,属性用filed表示,字段值存储属性值 如图: 键 字段 字段值 car:1 color 白色 name 奥迪 price 20w 二.命令 1.赋值和取值 hset key field value hget key field hmset key field value [field val