Redis hash数据类型操作命令

简介:

Redis hash是一个string类型的field和value的映射表。它的添加、删除操作都是0(1)(平均)

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


下面是hash数据类型的操作命令


1、hset:设置hash field为指定值,如果key不存在,则先创建

1
2
3
4
127.0.0.1:6379> hset user name zeng   //user 为表明,name为字段名 zeng为字段的值
(integer) 1
127.0.0.1:6379> hget user name
"zeng"


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

1
2
3
4
5
6
7
8
127.0.0.1:6379> hsetnx user name yang
(integer) 0
127.0.0.1:6379> hsetnx user age 27
(integer) 1
127.0.0.1:6379> hget user age
"27"
127.0.0.1:6379> hget user name
"zeng"


3、hmset:同时设置hash的多个field

1
2
3
4
5
6
127.0.0.1:6379> hmset user001 name zeng age 27 job IT
OK
127.0.0.1:6379> hmget user001 name age job
1)  "zeng"
2)  "27"
3)  "IT"


4、hmget:通过获取hash的多个field的值


5、hincrby:对hash表中指定字段的值做自增算法

1
2
3
4
5
6
7
8
127.0.0.1:6379> hincrby  user001 age 5
(integer) 32
127.0.0.1:6379> hincrby  user001 age 5
(integer) 37
127.0.0.1:6379> hincrby  user001 age 5
(integer) 42
127.0.0.1:6379> hget user001 age
"42"


6、hexists:测试指定field是否存在,存在则返回1,不存在返回0

1
2
3
4
127.0.0.1:6379> hexists user001 name
(integer) 1
127.0.0.1:6379> hexists user001 sex
(integer) 0


7、hlen:返回指定hash的field数量

1
2
3
4
127.0.0.1:6379> hlen user     //user 只设置了name age
(integer) 2
127.0.0.1:6379> hlen user001   //user001  设置了name、age、job三个field
(integer) 3


8、hdel:删除指定hash的field

1
2
3
4
5
6
127.0.0.1:6379> hget user age
"27"
127.0.0.1:6379> hdel user age
(integer) 1
127.0.0.1:6379> hget user age
(nil)


9、hkeys:返回hash的所有field

1
2
3
4
5
6
127.0.0.1:6379> hkeys user
1)  "name"
127.0.0.1:6379> hkeys user001
1)  "name"
2)  "age"
3)  "job"


10、hvals:返回hash的所有value

1
2
3
4
127.0.0.1:6379> hvals user001
1)  "zeng"
2)  "42"
3)  "IT"


11、hgetall:获取hash中所有的key和value

1
2
3
4
5
6
7
127.0.0.1:6379> hgetall user001
1)  "name"
2)  "zeng"
3)  "age"
4)  "42"
5)  "job"
6)  "IT"









本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1853974,如需转载请自行联系原作者

目录
相关文章
|
存储 缓存 监控
Redis设计与实现——Redis命令参考与高级特性
Redis 是一个高性能的键值存储系统,支持丰富的数据类型(字符串、列表、哈希、集合等)和多种高级功能。本文档涵盖 Redis 的核心命令分类,包括数据类型操作、事务与脚本、持久化、集群管理、系统监控等。特别介绍了事务的原子性特性、Lua 脚本的执行方式及优势、排序机制、发布订阅模型以及慢查询日志和监视器工具的使用方法。适用于开发者快速掌握 Redis 常用命令及其应用场景,优化系统性能与可靠性。
598 12
|
11月前
|
存储 缓存 NoSQL
Redis基础命令与数据结构概览
Redis是一个功能强大的键值存储系统,提供了丰富的数据结构以及相应的操作命令来满足现代应用程序对于高速读写和灵活数据处理的需求。通过掌握这些基础命令,开发者能够高效地对Redis进行操作,实现数据存储和管理的高性能方案。
358 12
|
NoSQL Redis
Lua脚本协助Redis分布式锁实现命令的原子性
利用Lua脚本确保Redis操作的原子性是分布式锁安全性的关键所在,可以大幅减少由于网络分区、客户端故障等导致的锁无法正确释放的情况,从而在分布式系统中保证数据操作的安全性和一致性。在将这些概念应用于生产环境前,建议深入理解Redis事务与Lua脚本的工作原理以及分布式锁的可能问题和解决方案。
456 8
|
11月前
|
存储 消息中间件 NoSQL
【Redis】常用数据结构之List篇:从常用命令到典型使用场景
本文将系统探讨 Redis List 的核心特性、完整命令体系、底层存储实现以及典型实践场景,为读者构建从理论到应用的完整认知框架,助力开发者在实际业务中高效运用这一数据结构解决问题。
|
存储 NoSQL 定位技术
Redis数据类型面试给分情况
Redis常见数据类型包括:string、hash、list、set、zset(有序集合)。此外还包含高级结构如bitmap、hyperloglog、geo。不同场景可选用合适类型,如库存用string,对象存hash,列表用list,去重场景用set,排行用zset,签到用bitmap,统计访问量用hyperloglog,地理位置用geo。
667 5
|
12月前
|
存储 缓存 人工智能
Redis六大常见命令详解:从set/get到过期策略的全方位解析
本文将通过结构化学习路径,帮助读者实现从命令语法掌握到工程化实践落地的能力跃迁,系统性提升 Redis 技术栈的应用水平。
|
NoSQL Java Redis
Redis基本数据类型及Spring Data Redis应用
Redis 是开源高性能键值对数据库,支持 String、Hash、List、Set、Sorted Set 等数据结构,适用于缓存、消息队列、排行榜等场景。具备高性能、原子操作及丰富功能,是分布式系统核心组件。
877 2
|
存储 缓存 NoSQL
Redis中的常用命令-get&set&keys&exists&expire&ttl&type的详细解析
总的来说,这些Redis命令提供了处理存储在内存中的键值对的便捷方式。通过理解和运用它们,你可以更有效地在Redis中操作数据,使其更好地服务于你的应用。
644 17
|
消息中间件 NoSQL Linux
Redis的基本介绍和安装方式(包括Linux和Windows版本),以及常用命令的演示
Redis(Remote Dictionary Server)是一个高性能的开源键值存储数据库。它支持字符串、列表、散列、集合等多种数据类型,具有持久化、发布/订阅等高级功能。由于其出色的性能和广泛的使用场景,Redis在应用程序中常作为高速缓存、消息队列等用途。
1138 16
|
NoSQL 数据库 Redis
Redis常用操作命令
关于Redis的操作命令实在是太多了,我们不可能每个都说,用的时候查找即可,现在只简单说明一下 1.对键操作的命令 exists(key):确认一个key是否存在 del(key):删除一个key type(key):返...
955 0