Redis基本数据类型介绍及相关方法介绍笔记--Hash类型

Redis五种数据类型之 Hash 类型

Hash类型

是一个string类型的field和value的映射表。他的添加删除都是0/1操作。

适用于存储对象,相对于把一个对象分成每个字段并存成单个String类型。将一个对象存储在hash类型会减少占用的内存喔。

下面切入正题咯:

常用命令总结(自用总结 不喜勿喷):

 

1.hset方法

设置一个hash表 field为指定值 如果key不存在则先创建

 

Hash表名为userChung:001 含义:id为001的userChung对象(或hash table)

name属性/键为Harbor

eg:

 127.0.0.1:6379> hset userChung:001 name Harbor

(integer) 1

127.0.0.1:6379> hget userChung:001 name

 “Harbor”

 

2.hsetnx方法

设置一个hash表 field为指定值 如果key不存在则先创建并返回1,

存在则返回0,不作操作.

eg:

127.0.0.1:6379> hsetnx userChung:002 name HarborChung

(integer) 1

127.0.0.1:6379> hget userChung:002 name

“HarborChung"

--已存在情况

127.0.0.1:6379> hsetnx userChung:001 name HarborChung

(integer) 0

127.0.0.1:6379> hget userChung:001 name

“Harbor”

 

3.hmset方法

同时设置多个hash表的field属性/键

eg:

127.0.0.1:6379> hmset userChung:003 name Chung gender male age 22

OK

127.0.0.1:6379> hget userChung:003 name

"Chung"

127.0.0.1:6379> hget userChung:003 gender

"male"

127.0.0.1:6379> hget userChung:003 age

“22"

 

4.hget方法

 eg:参考hset中获取内容

 

5.hmget方法

获取hash中 全部指定的属性即hash field

eg:

127.0.0.1:6379> hmget userChung:003 name gender 

1) "Chung"

2) “male"

--对于获取不存在的属性field时

127.0.0.1:6379> hmget userChung:002 name gender 

1) "HarborChung"

2) (nil)

 

6.hincrby方法

对指定的hash field属性进行自增

eg:

127.0.0.1:6379> hmget userChung:003 age

1) "22"

127.0.0.1:6379> hincrby userChung:003 age 2

(integer) 24

127.0.0.1:6379> hmget userChung:003 age

1) “24"

—对于不存在的field redis默认创建该field并付初始值0 并进行相应添加操作

127.0.0.1:6379> hmget userChung:002 age 

1) (nil)

127.0.0.1:6379> hincrby userChung:002 age 2

(integer) 2

127.0.0.1:6379> hmget userChung:002 name age

1) "HarborChung"

2) “2”

 

7.hexists方法

查找该field是否在hash表中存在

存在返回1,不存在返回0

eg:

127.0.0.1:6379> hexists userChung:002 gender

(integer) 0

127.0.0.1:6379> hexists userChung:002 age

(integer) 1

127.0.0.1:6379> hmget userChung:002 gender age 

1) (nil)

2) “2"

 

8.hlen方法

返回指定hash的filed属性/键数量

eg:

127.0.0.1:6379> hlen userChung:003

(integer) 3

127.0.0.1:6379> hlen userChung:002

(integer) 2

127.0.0.1:6379> hmget userChung:002 name age gender

1) "HarborChung"

2) "2"

3) (nil)

127.0.0.1:6379> hmget userChung:003 name age gender

1) "Chung"

2) "24"

3) “male"

 

9.hdel方法

删除指定hash的field键。返回值为1代表删除成功。0代表为删除失败。

eg:

127.0.0.1:6379> hget userChung:003 gender

"male"

127.0.0.1:6379> hdel userChung:003 gender

(integer) 1

127.0.0.1:6379> hdel userChung:003 gender

(integer) 0

127.0.0.1:6379> hget userChung:003 gender

(nil)

 

10.hkeys方法

返回hash表中所有field属性/键.

eg:

127.0.0.1:6379> hkeys userChung:002

1) "name"

2) "age"

127.0.0.1:6379> hkeys userChung:001

1) “name”

 

11.hvals方法

返回hash表中所有field属性值/值.

eg:

127.0.0.1:6379> hvals userChung:001

1) "Harbor"

127.0.0.1:6379> hvals userChung:002

1) "HarborChung"

2) “2”

 

12.hgetall方法

获取某个hash中的全部field属性/键 以及相应的值

eg:

127.0.0.1:6379> hgetall userChung:002

1) "name"

2) "HarborChung"

3) "age"

4) “2"

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自harborchung.iteye.com/blog/2234574