Redis 基础命令 --- Hash篇

实验环境

操作系统: ubuntu-16.04-x64
redis版本: 4.0.9

概述

Hash类型的键值是一种字典结构,其存储了字段和字段值的映射,但字段只能是字符串,不能支持其他数据类型,也就是说Hash类型不能嵌套其他的数据类型。一个Hash类型键值可以包含至多2^32 - 1个字段。
提示

除了Hash类型,redis其他数据类型同样不支持数据类型嵌套,比如集合类型的元素只能是字符串,不能是另外一个集合或者散列表。

常见命令

1.赋值与取值

HSET key field value  #设置键值中的一个key的值
HGET key field        #获取键值中的一个key的值
HMSET key field value [field value ...] #设置键值中的多个key
HMGET key field [field ...]  #获取键值中的多个key
HGETALL key   #获取所有的键值

例:

127.0.0.1:6379> HSET person name name1
(integer) 1
127.0.0.1:6379> HGET person name
"name1"

127.0.0.1:6379> HMSET person id 20 gender male age 30
OK
127.0.0.1:6379> HMGET person id gender
1) "20"
2) "male"
127.0.0.1:6379> HGETALL person 
1) "name"
2) "name1"
3) "age"
4) "30"
5) "id"
6) "20"
7) "gender"
8) "male"

2.删除Hash中指定域

HDEL key field [field ...]

例:

127.0.0.1:6379> HSET person name "lisi"
(integer) 0
127.0.0.1:6379> HDEL person name 
(integer) 1

127.0.0.1:6379> HSET person name "lisi"
(integer) 1
127.0.0.1:6379> HSET person age 30
(integer) 1
127.0.0.1:6379> HSET person gender male
(integer) 1
127.0.0.1:6379> HDEL person name age gender 
(integer) 3

3.判断字段是否存在

 HEXISTS key field

例:

127.0.0.1:6379> HSET person name "lisi"
(integer) 1
127.0.0.1:6379> HEXISTS person name 
(integer) 1
127.0.0.1:6379> HEXISTS person age
(integer) 0

4.当字段不能存在时赋值

HSETNX key field value

HSETNX命令与HSET类似,区别是如果字段存在,HSETNX将不做任何操作,HSET会覆写原来的值。

5.字段增加整数

 HINCRBY key field increment

例:

127.0.0.1:6379> HSET student score 60
(integer) 1
127.0.0.1:6379> HINCRBY student score 10
(integer) 70
127.0.0.1:6379> HGET student score
"70"

6.字段增加浮点数

HINCRBYFLOAT key field increment

例:

127.0.0.1:6379> HSET student score 56.4
(integer) 0
127.0.0.1:6379> HINCRBYFLOAT student score 20.3
"76.7"
127.0.0.1:6379> HGET student score 
"76.7"

7.只获取字段名或字段值

 HKEYS key
 HVALS key

例:

127.0.0.1:6379> HSET student name "lisi"
(integer) 1
127.0.0.1:6379> HSET student age  40
(integer) 1
127.0.0.1:6379> HSET student gender male
(integer) 1
127.0.0.1:6379> HKEYS student 
1) "name"
2) "age"
3) "gender"
127.0.0.1:6379> HVALS student 
1) "lisi"
2) "40"
3) "male"

8.获取字段数量

 HLEN key

例:

127.0.0.1:6379> HSET student name "lisi"
(integer) 1
127.0.0.1:6379> HSET student age 20
(integer) 1
127.0.0.1:6379> HSET student gender male
(integer) 1
127.0.0.1:6379> HLEN student 
(integer) 3
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值