Redis 四:存储类型之散列类型
1.散列类型表达方式简介:
===========================================
键 字段 值
===========================================
前轮 --->富士康
后轮 --->苹果
宝马: 挡风玻璃 --->加多宝
座椅 --->王老吉
方向盘 --->恒大冰泉
===========================================
散列类型更好的作用于同一个对象,不同属性,对应不同的值的情况下;
比如使用字符串类型就无法很好的达到这一效果
===========================================
宝马:前轮 --->富士康
宝马:后轮 --->苹果
宝马:挡风玻璃 --->加多宝
宝马:座椅 --->王老吉
宝马:方向盘 --->恒大冰泉
===========================================
这样存储很容易的造成了不必要的空间浪费跟keys的无谓增多 .赋值 hset 宝马 前轮 富士康 .取值 hget 宝马 前轮 .批量赋值 hmset 宝马 前轮 富士康 后轮 苹果 .批量取值 hmget 宝马 前轮 后轮 .获取所有键值信息 hgetall .判断字段是否存在 hexists 宝马 前轮 存在返回1,不存在返回0 .判断字段是否存在,不存在则直接赋值 hsetnx 宝马 座椅 王老吉 ,如果"座椅"已存在,则不执行操作,如果"座椅"不存在,则设置"座椅",并将"座椅"的值设置为“王老吉” .增加数字(减的话设置为负数就好了)
hset 宝马 轮子个数 //设置宝马的轮子个数为3个
hincrby 宝马 轮子个数 //给轮子加1个 ,(命令将直接返回相加后的结果) .hdel 宝马 轮子个数
假如那天宝马不需要轮子了,可以使用hdel删除它 ===============================================
PS::
可以看出来redis的散列类型对于存储一对多这种关系
的数据尤为有用;因为那意味着不需要用字符串去存储
这些关系,大大的节约空间跟应用的复杂度;
===============================================
Redis 四:存储类型之散列类型的更多相关文章
- Redis核心原理与实践--散列类型与字典结构实现原理
Redis散列类型可以存储一组无序的键值对,它特别适用于存储一个对象数据. > HSET fruit name apple price 7.6 origin china 3 > HGET ...
- Redis命令拾遗二(散列类型)
本文版权归博客园和作者吴双共同所有,欢迎转载,转载和爬虫请注明原文地址 :博客园蜗牛NoSql系列地址 http://www.cnblogs.com/tdws/tag/NoSql/ Redis命令拾 ...
- 六、Redis五种类型 - hash(散列)类型
1.介绍 (1).hash也是一种字典结构,存储了字段(field)和字段值(value)的映射,字段值只能是字符串,不支持其他类型.(2).适合存储对象,对象列表和ID构成键名,字段表示对象的属性, ...
- Redis数据类型之散列类型hash
在redis中用的最多的就是hash和string类型. 问题 假设有User对象以JSON序列化的形式存储到redis中, User对象有id.username.password.age.name等 ...
- 7、python基本数据类型之散列类型
前言:python的基本数据类型可以分为三类:数值类型.序列类型.散列类型,本文主要介绍散列类型. 一.散列类型 内部元素无序,不能通过下标取值 1)字典(dict):用 {} 花括号表示,每一个元素 ...
- redis数据类型-散列类型
Redis数据类型 散列类型 Redis是采用字典结构以键值对的形式存储数据的,而散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他 ...
- Redis常用命令入门2:散列类型
散列命令 散列类型的键值其实也是一种字典解耦,其存储了字段和字段值的映射,但字段值只能是字符串,不支持其他数据类型,所以说散列类型不能嵌套其他的数据类型.一个散列类型的键可以包含最多2的32次方-1个 ...
- Redis从基础命令到实战之散列类型(Hash)
从上一篇的实例中可以看出,用字符串类型存储对象有一些不足,在存储/读取时需要进行序列化/反序列化,即时只想修改一项内容,如价格,也必须修改整个键值.不仅增大开发的复杂度,也增加了不必要的性能开销. 一 ...
- Redis自学笔记:3.3入门-散列类型
3.3散列类型 3.3.1介绍 散列类型不能嵌套其他数据类型,一个散列类型可以包含至多232-1个字段 散列类型适合存储对象:使用对象类别和ID构成键名,使用字段表示对象的数据, 而字段值则存储属性值 ...
随机推荐
- C#第八节课
for的穷举迭代.while.do while using System;using System.Collections.Generic;using System.Linq;using Syste ...
- mysql查询昨天 一周前 一月前 一年前的数据
mysql 昨天 一周前 一月前 一年前的数据 这里主要用到了DATE_SUB, 参考如下 代码如下: SELECT * FROM yh_contentwhere inputtime>DATE_ ...
- django QuerySet对象转换成字典对象
>>> from django.contrib.auth.models import User >>> from django.forms.models impor ...
- (10)Spring Boot修改端口号【从零开始学Spring Boot】
Spring boot 默认端口是8080,如果想要进行更改的话,只需要修改applicatoin.properties文件,在配置文件中加入: server.port=9090 常用配置: #### ...
- [bzoj3530][Sdoi2014]数数_AC自动机_数位dp
数数 bzoj-3530 Sdoi-2014 题目大意:给你一个整数集合,求所有不超过n的正整数,是的它的十进制表示下不能再一段等于集合中的任意数. 注释:$1\le n \le 1200$,$1\l ...
- HDU 3002
无向图最小割. #include <iostream> #include <cstdio> #include <cstring> using namespace s ...
- /sys/power/state
kernel/power/main.c中: /** * state - control system power state. * * show() returns what states are s ...
- Android Internet - WebView 的使用
WebView是Android 提供的操作网页的一个组件. 用于浏览网页及其它Internet资源. 这里总结了一些WebView 的经常使用接口.和2个小演示样例程序用于自己开发时直接使用.就不用再 ...
- 线程同步、死锁和通信——Java多线程(二)
一.多线程同步 上一篇随笔中,我曾遇到对多线程程序的多次运行结果不一致的情况,这主要是因为没有对这些线程在访问临界资源做必要的控制,而接下来就用线程的同步来解决这个问题. 1.同步代码块 class ...
- Linux中的默认权限与隐藏权限(文件、文件夹)
一个文件(或文件夹)拥有若干个属性.包含(r/w/x)等基本属性,以及是否为文件夹(d)与文件(-)或连接文件(l)等属性.此外,Linux还能够设置其它系统安全属性.使用chattr来设置.以lsa ...