Redis入门 – 数据类型 – hashes
Redis入门 –数据类型 – hashes原文地址:http://alanland.iyunv.com/admin/blogs/1599419(转载请注明)
本文介绍Redis 的数据类型 hashes,文中的例子在http://redis.io/commands/进行录入的。
hashes就像java中的Map,python中的Dict这样的结构,下面是hashes常用的操作方法。
1添加/设置值
通过 hset 命令来向hashes 中添加键值对。
>hset 员工地址张三 张三家
true
>hset 员工地址李四 李四的地址
true
>hset 员工地址李四 李四的
false
2获取值
通过 hget 命令获取值。
redis>hget 员工地址张三
"张三家"
redis>hget 员工地址李四
"李四的"
redis>hget 员工地址李六
(nil)
如果值不存在则返回控(nil)。
3如果不存在创建,存在则返回
Hsetnx 命令设置不存在的值,如果存在则不进行设置。
redis>hsetnx 员工地址王舞 XXXXX
(integer)1
redis>hsetnx 员工地址李四 XXXXX
(integer)0
redis>hget 员工地址王舞
"XXXXX"
redis>hget 员工地址李四
"李四的"
如果更新成功则返回1,更新失败返回0。
4一次设置多个字段
Hmset 命令可以设置同时设置多个字段,用法如下:
redis>hmset 员工地址alan "alan'shome" tom "tom's home"
OK
redis>hget 员工地址alan
"alan'shome"
redis>hget 员工地址tom
"tom'shome"
5一次获取多个字段的值
Hmget命令可以一次获得多个字段值,用法如下:
redis>hmget 员工地址alan tom bruce
1)"alan's home"
2)"tom's home"
3)(nil)
由于 bruce 不存在,所以获得空值。
6获取所有元素
redis>hgetall 员工地址
1) "李四"
2) "李四的"
3) "张三"
4) "张三家"
5) "王舞"
6) "XXXXX"
7) "alan"
8) "alan's home"
9) "tom"
10)"tom's home"
7对整数进行增加
redis>hset myhash field 100
(integer)0
redis>hincrby myhash field 1
(integer)101
redis>hincrby myhash field 100
(integer)201
redis>hincrby myhash field -10
(integer)191
如果这个值不是数字,会报错提示:
redis>hincrby myhash field2 1
ERRhash value is not an integer
如果这个值不存在,会先被设置为0,然后再进行增加操作:
redis>hincrby myhash field3 100
(integer)100
redis>hget myhash field3
"100"
8对浮点数增加操作
redis>hset myhash field 3.14
(integer)1
redis>hincrbyfloat myhash field 1.1
"4.24"
9获得key的集合
redis>hset the.hash field.a xxx
(integer)1
redis>hset the.hash field.b xxx
(integer)1
redis>hkeys the.hash
1)"field.a"
2)"field.b"
redis>
10获得value的集合
redis>hvals the.hash
1)"xxx"
2)"xxx"
redis>
11获得hashes的长度
redis>hlen the.hash
(integer)2
页:
[1]