redis--hashes类型及操作

hashes类型及操作

redis hash是一个string类型的field和value的映射表。hash特别适用于存储对象。相较于将对象的每个字段存成单个string类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。

hset

设置hash field为指定值,如果key不存在,则先创建。

例如:设置一个id为001的用户,name是ysy

127.0.0.1:6379> hset user:001 name ysy
(integer) 1
127.0.0.1:6379> hget user:001 name
"ysy"

hsetnx

设置hash field为指定值,如果key不存在,则先创建,如果存在则返回0.

127.0.0.1:6379> hset user:001 name ysy
(integer) 1
127.0.0.1:6379> hget user:001 name
"ysy"
127.0.0.1:6379> hsetnx user:001 name 123
(integer) 0
127.0.0.1:6379> hsetnx user:002 name 002
(integer) 1
127.0.0.1:6379> hget user:002 name
"002"

hmset

同时设置hash的多个field。

127.0.0.1:6379> hmset user:003 name ysy age 21 sex 1
OK
127.0.0.1:6379> hget user:003 name
"ysy"
127.0.0.1:6379> hget user:003 age
"21"
127.0.0.1:6379> hget user:003 sex
"1"

hget

获取指定的hash field

hmget

获取全部指定的hash field

127.0.0.1:6379> hmget user:003 name age sex
1) "ysy"
2) "21"
3) "1"

hincrby

给hash field加上指定值

127.0.0.1:6379> hget user:003 age
"21"
127.0.0.1:6379> hincrby user:003 age 5
(integer) 26
127.0.0.1:6379> hincrby user:003 age 5
(integer) 31
127.0.0.1:6379> hincrby user:003 age -5
(integer) 26

hexists

测试指定的field是否存在

127.0.0.1:6379> hexists user:003 age
(integer) 1
127.0.0.1:6379> hexists user:003 name
(integer) 1
127.0.0.1:6379> hexists user:003 sex
(integer) 1
127.0.0.1:6379> hexists user:003 old
(integer) 0

hlen

返回指定的hash的field数量

127.0.0.1:6379> hlen user:003
(integer) 3

hdel

删除指定的hash field

127.0.0.1:6379> hget user:003 age
"26"
127.0.0.1:6379> hdel user:003 age
(integer) 1
127.0.0.1:6379> hexists user:003 age
(integer) 0
127.0.0.1:6379> hget user:003 age
(nil)

hkeys

返回hash所有的field

127.0.0.1:6379> hkeys user:003
1) "name"
2) "sex"

hvals

返回hash所有的value

127.0.0.1:6379> hkeys user:003
1) "name"
2) "sex"
127.0.0.1:6379> hvals user:003
1) "ysy"
2) "1"

hgetall

获取某个hash中全部的field及value

127.0.0.1:6379> hgetall user:003
1) "name"
2) "ysy"
3) "sex"
4) "1"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值