博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis 基础命令 --- Hash篇
阅读量:2428 次
发布时间:2019-05-10

本文共 2196 字,大约阅读时间需要 7 分钟。

实验环境

操作系统: ubuntu-16.04-x64redis版本: 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 ...] #设置键值中的多个keyHMGET key field [field ...]  #获取键值中的多个keyHGETALL key   #获取所有的键值

例:

127.0.0.1:6379> HSET person name name1(integer) 1127.0.0.1:6379> HGET person name"name1"127.0.0.1:6379> HMSET person id 20 gender male age 30OK127.0.0.1:6379> HMGET person id gender1) "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) 0127.0.0.1:6379> HDEL person name (integer) 1127.0.0.1:6379> HSET person name "lisi"(integer) 1127.0.0.1:6379> HSET person age 30(integer) 1127.0.0.1:6379> HSET person gender male(integer) 1127.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) 1127.0.0.1:6379> HEXISTS person name (integer) 1127.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) 1127.0.0.1:6379> HINCRBY student score 10(integer) 70127.0.0.1:6379> HGET student score"70"

6.字段增加浮点数

HINCRBYFLOAT key field increment

例:

127.0.0.1:6379> HSET student score 56.4(integer) 0127.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) 1127.0.0.1:6379> HSET student age  40(integer) 1127.0.0.1:6379> HSET student gender male(integer) 1127.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) 1127.0.0.1:6379> HSET student age 20(integer) 1127.0.0.1:6379> HSET student gender male(integer) 1127.0.0.1:6379> HLEN student (integer) 3

转载地址:http://xgcmb.baihongyu.com/

你可能感兴趣的文章
无线传感器网络使用指南
查看>>
Unity 脚本优化的那些坑
查看>>
《近匠》专访机智云 CTO 刘琰——从 0 到 1 开启智能化硬件开发
查看>>
深度对话微软,解读 HoloLens 技术设计细节
查看>>
移动周刊第 191 期:如何看待 Kotlin 成为 Android 官方支持开发语言?
查看>>
物联网浪潮之下,前端工程师如何迎刃而上?
查看>>
从端到云——工业物联网项目全栈快速开发
查看>>
LoRa vs NB-IOT:哪个物联网标准更具优势?
查看>>
移动周刊第 205 期:Google 正式发布 ARCore 预览版、iOS 工程打包速度提升十倍的解决方案...
查看>>
八大 IoT 安全关键技术解析
查看>>
有钱 Python,没钱 PHP,编程语言也嫌贫爱富
查看>>
Docker是啥?容器变革的火花?
查看>>
假如从餐饮店的角度来看架构…
查看>>
这个充电宝太黑科技了,又小又不用自己带线,长见识了~
查看>>
HDC.2019后再发力,AppGallery Connect服务新升级
查看>>
网易云音乐热评的规律,44万条数据告诉你
查看>>
超神!GitHub 标星 5.5w,如何用 Python 实现所有算法?
查看>>
扛住100亿次请求——如何做一个“有把握”的春晚红包系统
查看>>
在北京看场雪为什么这么难?
查看>>
新年了,5G手机芯片,到底买谁?
查看>>