码迷,mamicode.com
首页 > 其他好文 > 详细

Redis学习笔记09Redis数据类型之(2) 哈希表类型

时间:2017-07-22 10:57:47      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:als   red   数据类型   对象   hold   返回   wrong   整数   笔记   

1.1.1. hset

hash中添加键值对。

 

语法:

HSET key field value

参数:

key :键名称,键值为一个hash表对象。

fieldhash表中的键名。

valuehash表中的键值。

返回值:

整数:1,成功添加了一个原来不存在的新的键对应的键值对。

      0,成功的更新了一个原来存在的键对应的键值对。

ERRORkey对应的对象存在,但是并不是哈希表类型。

 

例子:

redis.coe2coe.me:6379> hset myhash  host redis.coe2coe.me

(integer) 1

哈希表myhash中原来不存在host这个键。

 

redis.coe2coe.me:6379> hset myhash  port 6379

(integer) 1

哈希表myhash中原来不存在port这个键。

 

redis.coe2coe.me:6379> hset myhash  port 6380

(integer) 0

哈希表myhash中原来已经存在port这个键。

 

redis.coe2coe.me:6379> hset myhash  port 6380

(integer) 0

 

redis.coe2coe.me:6379> hset a host aaa

(error) WRONGTYPE Operation against a key holding the wrong kind of value

 

 

1.1.2. hget

获取指定哈希表中的键对应的键值。

 

语法

HGET key field

参数:

key:键名,键值是一个哈希表。

field:哈希表中的键的键名。

返回值:

键值:哈希表中的键field对应的键值。

nil: 不存在指定的key或不存在指定的field

ERRORkey对应的对象存在,但是并不是哈希表类型。

 

例子:

redis.coe2coe.me:6379> hset myhash  host redis.coe2coe.me

(integer) 1

redis.coe2coe.me:6379> hset myhash  port 6379

(integer) 1

redis.coe2coe.me:6379> hset myhash  port 6380

(integer) 0

redis.coe2coe.me:6379> hset myhash  port 6380

(integer) 0

redis.coe2coe.me:6379> hget myhash host

"redis.coe2coe.me"

redis.coe2coe.me:6379> hget myhash port

"6380"

redis.coe2coe.me:6379> hget nosuchhash host

(nil)

redis.coe2coe.me:6379> hget myhash nosuchfield

(nil)

redis.coe2coe.me:6379>

 

redis.coe2coe.me:6379> set a 123

OK

redis.coe2coe.me:6379> hget a host

(error) WRONGTYPE Operation against a key holding the wrong kind of value

 

 

1.1.3. hexists

判断指定的哈希表中是否存在指定的键。

 

语法:

HEXISTS key field

返回值:

1:成功找到该field

0:没有找到对应的key或者没有找到对应的field

ERRORkey对应的对象存在,但是并不是哈希表类型。

 

例子:

redis.coe2coe.me:6379> hexists myhash host

(integer) 1

redis.coe2coe.me:6379> hexists myhash port

(integer) 1

redis.coe2coe.me:6379> hexists nosuchhash host

(integer) 0

redis.coe2coe.me:6379> hexists myhash nosuchfield

(integer) 0

 

redis.coe2coe.me:6379> set a 123

OK

redis.coe2coe.me:6379> hexists a host

(error) WRONGTYPE Operation against a key holding the wrong kind of value

 

1.1.4. hdel

删除指定的哈希表中的若干个键。

语法:

HDEL key field [field ...]

返回值:

整数:删除掉的哈希表中的field键的个数。不包括参数指定了而哈希表中不存在的field键。

0key对应的hash表不存在,或者哈希表中不包括所有的field

ERRORkey对应的对象存在,但是不是hash类型。

 

例子:

redis.coe2coe.me:6379> hdel myhash host

(integer) 1

redis.coe2coe.me:6379> hdel myhash host port

(integer) 1

redis.coe2coe.me:6379> hdel myhash host port

(integer) 0

redis.coe2coe.me:6379> hdel myhash nosuch key

(integer) 0

redis.coe2coe.me:6379> hdel nosuchhash host port

(integer) 0

redis.coe2coe.me:6379> set a 123

OK

redis.coe2coe.me:6379> hdel a host port

(error) WRONGTYPE Operation against a key holding the wrong kind of value

 

1.1.5. hkeys

获取指定哈希表中的所有键的名称。

 

语法:

HKEYS key

返回值:

键名称的数组:操作成功。key对应的哈希表已经找到,或者key对应的对象不存在。

ERRORkey对应的对象存在,但是类型不是哈希表类型。

 

例子:

redis.coe2coe.me:6379> hkeys myhash

(empty list or set)

redis.coe2coe.me:6379> hset myhash host redis.coe2coe.me

(integer) 1

redis.coe2coe.me:6379> hset myhash port 6379

(integer) 1

redis.coe2coe.me:6379> hkeys myhash

1) "host"

2) "port"

redis.coe2coe.me:6379> hdel myhash host port

(integer) 2

redis.coe2coe.me:6379> hkeys myhash

(empty list or set)

redis.coe2coe.me:6379> hkeys nosuchhash

(empty list or set)

redis.coe2coe.me:6379> set a 123

OK

redis.coe2coe.me:6379> hkeys a

(error) WRONGTYPE Operation against a key holding the wrong kind of value

 

1.1.6. hgetall

 

获取指定的哈希表中的所有键值对。

语法:

HGETALL key

返回值:

键值对的数组:操作成功。

例子:

redis.coe2coe.me:6379> hgetall myhash

(empty list or set)

redis.coe2coe.me:6379> hset myhash host redis.coe2coe.me

(integer) 1

redis.coe2coe.me:6379> hset myhash port 6379

(integer) 1

redis.coe2coe.me:6379> hgetall myhash

1) "host"

2) "redis.coe2coe.me"

3) "port"

4) "6379"

redis.coe2coe.me:6379> hdel myhash host port

(integer) 2

redis.coe2coe.me:6379> hgetall myhash

(empty list or set)

redis.coe2coe.me:6379> set a 123

OK

redis.coe2coe.me:6379> hgetall a

(error) WRONGTYPE Operation against a key holding the wrong kind of value

redis.coe2coe.me:6379> hgetall nosuchhash

(empty list or set)

 

 

1.1.7. hvals

获取指定的哈希表的所有键值对的值的数组。

 

语法:

HVALS key

 

例子:

redis.coe2coe.me:6379> hset myhsh host redis.coe2coe.me

(integer) 1

redis.coe2coe.me:6379> hset myhash host redis.coe2coe.me

(integer) 1

redis.coe2coe.me:6379> hset myhash port 6379

(integer) 1

redis.coe2coe.me:6379> hvals myhash

1) "redis.coe2coe.me"

2) "6379"

 

Redis学习笔记09Redis数据类型之(2) 哈希表类型

标签:als   red   数据类型   对象   hold   返回   wrong   整数   笔记   

原文地址:http://www.cnblogs.com/coe2coe/p/7220485.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!