文档章节

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

没有更多内容

加载失败,请刷新页面

加载更多

easyui datagrid 分页 详解

1.界面 2.前端代码 <table id="dg" title="文章管理" class="easyui-datagrid" fitColumns="true" pagination="true" url="${pageContext.request.contextPath}/admin/showAllTrainee" ......

小橙子的曼曼
24分钟前
0
0
HashTable vs HashMap vs TreeMap

HashMap是HashTable的轻量级实现(非线程安全),HashMap可以通过collections.synchronizedMap()来达到同步效果。 HashTable:contains,HashMap:containsKey、containsValue HashMap允许...

cherryboy
26分钟前
2
0
OLTP和OLAP的比较

OLTP:On-Line Transaction Processing联机事务处理过程,也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用...

woshixin
35分钟前
2
0
docker 搭建elasticsearch集群

docker 搭建es集群 1、拉去es镜像 docker pull docker.io/elasticsearch:5.6.8 2、 创建挂载目录 mkdir -p /docker/es/configmkdir -p /docker/es/data1mkdir -p /docker/es/data2......

北岩
50分钟前
7
0
Linux检测邮箱是否真实存在方法

例如我们要验证 laiconglin3@126.com 是否真实存在 nslookup -type=MX 126.com 查找126.com 的MX 地址 test@test:~$ nslookup -type=MX 126.comServer:127.0.1.1Address:127.0.1.1#53......

laiconglin
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部