redis-学习笔记(hash)

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: redis-学习笔记(hash)

Redis 自身已经是 键值对 结构了

Redis 自身的键值对就是通过 哈希 的方式来组织的

把 key 这一层组织完成后, 到了 value 这一层, 还可以用 哈希类型 来组织

(简单的说就是哈希里面套哈希 [数组里面套数组 -> 二维数组] )

[ field value ]

hset key field value [ field value ... ]

返回值是设置成功的键值对 ( field - value ) 的个数


hget key field

获取 key 对应的值中 field 对应的哈希值


hdel key field [field ...]

删除 hash 中指定的字段, 返回本次操作删除的字段个数


hexists key field

判断该字段存不存在, 存在返回 1 , 不存在返回 0


hkys key

根据 key , 获取到对应的 hash

(该操作有风险, 类似于之前的 " keys * ", 没事儿别乱用, 小心一波带走年终奖 )


hvals key

和 " hkeys key " 对应, 能够获取到 一个 hash (field) 中所有的 value


hgetall key

查询 key 下的所有 field, 以及所有的 hash 对应的值


hmget key field [field ...]

可以同时查询多个 hash (field) 对应的值


hscan key curson [match pattern] [COUNT count]

从下标 curson 开始 获取 count (默认为 10) 个 匹配 pattern 的数据

属于 “渐进式遍历”

像之前的 hkeys, hvals, hgetall 都是一次性遍历, 具有很高的风险, 但是渐进式遍历类似于, 敲一次命令, 遍历一部分, 再敲一次, 再遍历一部分… 连续多次执行, 以完成整个查询操作, 中间可以穿插其他的命令操作, 因此不会造成查询耗时太长, 阻塞 redis

我也不太会这个, 你就把他, 理解成分页查询, 一次最多取多少, 第一行返回的游标代表, 你下次从哪里选择的起点(输入其他的数字可能会查重复了)


hlen key

获取 hash 的元素个数,

O(1) , 不需要遍历 ( 相当于自带一个标记长度的 length 数字 )


hsetnx key field vlaue

类似于 setnx , 不存在才能设置成功

如果存在, 则设置失败


hash 这里的 value 也可以当作数字来处理

hincrby 可以加减整数

hincrbyfloat 可以加减小数

但是使用频率不高,


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
NoSQL Java Redis
redis-学习笔记(Jedis 通用命令)
redis-学习笔记(Jedis 通用命令)
30 1
|
20天前
|
存储 JSON NoSQL
Redis第五弹-HASH结构相关指令和介绍,计数功能Hash-哈希(Redis本来就是键值对结构,哈希,就相当于键值对嵌套了一个键值对)的多种指令Hset key field value-
Redis第五弹-HASH结构相关指令和介绍,计数功能Hash-哈希(Redis本来就是键值对结构,哈希,就相当于键值对嵌套了一个键值对)的多种指令Hset key field value-
|
4天前
|
存储 NoSQL Redis
Redis系列-存储hash主要操作命令
Redis系列-存储hash主要操作命令
|
1月前
|
Java Redis
redis-学习笔记(Jedis zset 简单命令)
redis-学习笔记(Jedis zset 简单命令)
29 3
|
1月前
|
NoSQL 网络协议 关系型数据库
redis-学习笔记(redis 单线程模型)
redis-学习笔记(redis 单线程模型)
31 3
|
1月前
|
Java Redis
redis-学习笔记(Jedis string 简单命令)
redis-学习笔记(Jedis string 简单命令)
27 2
|
1月前
|
Java Redis
redis-学习笔记(Jedis hash简单命令)
redis-学习笔记(Jedis hash简单命令)
26 1
|
1月前
|
存储 Java Redis
redis-学习笔记(Jedis set 简单命令)
redis-学习笔记(Jedis set 简单命令)
28 1
|
1月前
|
Java Redis
redis-学习笔记(Jedis list简单命令)
redis-学习笔记(Jedis list简单命令)
26 1
|
1月前
|
NoSQL Java Redis
redis-学习笔记(Jedis 前置知识)
redis-学习笔记(Jedis 前置知识)
24 1