博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
redis (四)散列类型
阅读量:6952 次
发布时间:2019-06-27

本文共 2109 字,大约阅读时间需要 7 分钟。

hot3.png

到底什么是散列类型那,真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

转载于:https://my.oschina.net/012345678/blog/280767

你可能感兴趣的文章
Python 列表字典制作名册管理
查看>>
学习自查:目录(更新中...)
查看>>
JQuery01
查看>>
Java 详解 JVM 工作原理和流程
查看>>
对大学努力的理解
查看>>
name_save matlab
查看>>
Nginx服务器中的Socket切分,需要的朋友可以参考下
查看>>
leetcode 46. 全排列
查看>>
美团点评智能支付核心交易系统的可用性实践
查看>>
关于asp.net中链接数据库的问题
查看>>
kubernetes 1.14安装部署metrics-server插件
查看>>
IEEE754标准浮点格式
查看>>
嵌入式系统内存泄漏检测
查看>>
flAbsPath on /var/lib/dpkg/status failed 解决 Cydia 红字
查看>>
在本地测试一次成功的AJAX请求
查看>>
淘淘商城第二天
查看>>
配置和修改参数
查看>>
DS06--图
查看>>
C#通过XElement写入XML文件
查看>>
1 0 .2 用于监视的工具和技术
查看>>