文档章节

redis (四)散列类型

山下狮子
 山下狮子
发布于 2014/06/17 17:06
字数 590
阅读 581
收藏 4

到底什么是散列类型那,真TMD专业术语。


先看下这个

{

"car" :  {'price':100,'name':'Jeep',‘color’:'red'} 

"car2" :  {'price':200,'name':'BMW',‘color’:'blue','who':'me':} 

}

"car" :  {'price':100,'name':'Jeep',‘color’:'red'}  TMD,这不跟python里的数据类型嵌套一样吗,字典里可以有字典


我们说过redis里一个数据库就是一个字典,所以外面的大括号就是数据库,里面就是你存储的值。

散列原来就是用一个key 代表一个字典,艹,专业术语害死人。

NOTE:

形式虽然是上面那样,不过散列有其特殊性,不仅是散列类型,还有其他的类型。特殊性:

"car" :  {'price':100,'name':'Jeep',‘color’:'red'}    在redis里  ,这里面的 100   jeep   red 只能是字符串,


这种就是错误的,在python是正确定的,也是和python字典的区别

"car" :  {'price':[  ],'name':{   },‘color’:'red'}


HSET key  field value    #key   散列赋值 (更新也是此命令,为什么?字典的特性,存在就替换你)

redis 127.0.0.1:6379> hset car price 100
(integer) 1
redis 127.0.0.1:6379> hset car name jeep
(integer) 1
redis 127.0.0.1:6379> hset car color red
(integer) 1

HGET key field               #获取key  散列值得

redis 127.0.0.1:6379> hget car name
"jeep"
redis 127.0.0.1:6379> hget car price
"100"
redis 127.0.0.1:6379> hget car color
"red"



HSET key field1 value1

HSET key filed2 value2

替换成

HMSET    key    field1 value1      field2 value2   #同时设置多个字段的值

redis 127.0.0.1:6379> HMSET car price 500 name 500 color 500
OK



HMGET    key    field1   field2           #相应获取多个字段的值

redis 127.0.0.1:6379> HMGET car price name color
1) "500"
2) "500"
3) "500"


HGETALL  key               #获取key代表的所有field和值

redis 127.0.0.1:6379> hgetall car
1) "price"
2) "500"
3) "name"
4) "500"
5) "color"
6) "500"


HEXISTS  key field       #判断字段是否存在 1代表存在,0代表不存在

redis 127.0.0.1:6379> hexists car price
(integer) 1

redis 127.0.0.1:6379> hexists car pri
(integer) 0

HSETNX key   field value                      #当字段不存在时赋值,存在的就不管了

redis 127.0.0.1:6379> hsetnx car pri 500
(integer) 1
redis 127.0.0.1:6379> hsetnx car pri 500
(integer) 0  # 看这里,有了就返回0


HDEL  key  field   [field  ....]                             #删除一个或多个字段

redis 127.0.0.1:6379> hdel car pri
(integer) 1
redis 127.0.0.1:6379> hget car pri
(nil)

redis 127.0.0.1:6379> hdel car price name
(integer) 2
redis 127.0.0.1:6379> hgetall car
1) "color"
2) "500"


HKEYS key           #所有的field

redis 127.0.0.1:6379> hkeys car
1) "color"
2) "name"
3) "price"

HVALS key            #所有的value

redis 127.0.0.1:6379> hvals car
1) "red"
2) "bwm"
3) "500"


HLEN           key              #获得field的数量

redis 127.0.0.1:6379> hlen car
(integer) 3

© 著作权归作者所有

山下狮子
粉丝 24
博文 115
码字总数 58167
作品 0
东城
程序员
私信 提问
Redis基础笔记(一)

Redis基础笔记 Redis基础笔记 事务 SORT 生存时间 任务队列 发布/订阅模式 Python中使用Redis 实际实例 管理 其他 1. 字符串类型 2. 散列类型 3. 列表类型 4. 集合类型 5. 有序集合 简介 安装...

Airship
2016/01/28
15
0
Redis 学习笔记 3.3 散列类型

版权声明:本文为twowinter原创文章,请联系微信公众号twowinter,未经博主允许不得转载。 https://blog.csdn.net/iotisan/article/details/88729205 1 介绍 字符串类型是键和键值。 而散列类...

iotisan
03/21
0
0
redis常用数据类型总结

redis常用数据类型总结 redis是以键值对key-value的形式来存储数据,而存储的数据类型有5种String,List,Set,Map,以及有序集合 这五种数据类型操作的命令多有相似,经常混淆,闲暇之余,总结...

奇葩界张三
2017/04/27
0
0
Redis基础笔记 (一)

Redis基础笔记 事务 SORT 生存时间 任务队列 发布/订阅模式 Python中使用Redis 实际实例 管理 其他 1. 字符串类型 2. 散列类型 3. 列表类型 4. 集合类型 5. 有序集合 简介 安装 资源链接 简介...

Airship
2016/02/18
21
0
redis字符串内型详解

redis字符串内型详解 字符串 Redis中的字符串是一个字节序列。Redis中的字符串是二进制安全的,这意味着它们的长度不由任何特殊的终止字符决定。因此,可以在一个字符串中存储高达兆字节的任...

小小子之家
2017/06/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

IT兄弟连 Java语法教程 Java语言的跨平台特性

什么是平台 Java是可以跨平台的编程语言,那么首先我们需要知道什么是平台,通常我们把CPU与操作系统的整体称为平台。 CPU大家都知道,是计算机的大脑,它既负责思维运算,又负责计算机中各种...

老码农的一亩三分地
26分钟前
0
0
http传值问题

这两天遇到一个问题 ,与一个渠道联调接口,http请求,展示ptf 的需求,服务方以一个二进制的方式返回。 当时我们在一开始开发的时候,我们按照读取文件的方式处理,本地存一个ptf 的方式 ,...

鬼才王
35分钟前
3
0
【面试】如果你这样回答“什么是线程安全”,面试官都会对你刮目相看

不是线程的安全 面试官问:“什么是线程安全”,如果你不能很好的回答,那就请往下看吧。 论语中有句话叫“学而优则仕”,相信很多人都觉得是“学习好了可以做官”。然而,这样理解却是错的。...

中关村的老男孩
35分钟前
5
0
5.01- Druid数据源配置

1、配置项 配置 缺省值 说明 name 无 配置这个属性的意义在于,如果存在多个数据源,监控的时候 可以通过名字来区分开来。如果没有配置,将会生成一个名字, 格式是:"DataSource-" + Syste...

静以修身2025
40分钟前
4
0
itop4412开发板-Linux内核的编译

本篇文章基于itop4412开发板 5.3.2.1源码目录 Linux 内核源码在光盘“06_源码_uboot 和 kernel”目录下,如下图所示。 5.3.2.2 编译器 内核的编译器和 uboot 的编译器一样,参考“5.3.1.2 编...

书白
44分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部