sybn sybn-util 项目说明文档 - 基于java的跨数据库联合查询

redis_hash 哈希表

2026-09-23
sybn

redis_hash 对应 redis 的 hash 数据结构, 一个大 key 下有多个 field(小 key), 每个 field 各存一个值.

等效 DQL

  • 虚拟表 SQL
-- 查整个 hash(所有 field)
select * from redis_hash where key = 'h1'

-- 查单个 field, 用 大key.小key
select * from redis_hash where key = 'h1.f1'
  • 等效 redis 原生命令
HGETALL h1
HGET h1 f1

返回字段

字段 类型 说明
key1 string redis 大 key
key2 string redis 小 key(field)
value string field 对应的值

查整个 hash 时, 每个 field 返回一行; 查单个 field 时只返回一行.

可查指标

指标 获取方式 说明
每个 field 值 where key = 'h1' 全量 field
单个 field 值 where key = 'h1.f1' 指定 field
field 数量 对结果行 count hash 中 field 的个数
type redis_scan 恒为 hash
ttl redis_scan 整个 key 的过期时间

查询示例

-- 查整个 hash
select * from redis_hash where key = 'user:1'

-- 查单个 field
select * from redis_hash where key = 'user:1.name'

-- 批量查多个 key
select * from redis_hash where key in ('h1', 'h2.f1')

限制

  1. 只支持 key = 与 key in, 不支持 and 组合.
  2. 小 key 通过点号 大key.小key 指定, 不支持 field 名本身含点号的场景(会按第一个点号拆分).
  3. 不支持 group by / order by / limit.
  4. key 不是 hash 类型时返回”数据类型错误”.

相关文档: redis-dao / dynamicSourceWrite


Similar Posts

Comments

暂不开放评论! 可微信联系