KeysReader
从数据库获取键及其值。
从 Redis 数据库中存储的键和值创建记录。
注意
目前只支持字符串和哈希数据类型。对于其他数据类型,它将只提取键名。构造函数
可以使用以下构造函数之一创建新的 KeysReader
对象
public KeysReader()
public KeysReader(String pattern)
public KeysReader(String prefix, boolean readValues)
public KeysReader(String pattern, boolean noScan, boolean readValues)
public KeysReader(String prefix,
boolean readValues,
String[] eventTypes,
String[] keyTypes)
public KeysReader(String pattern,
boolean noScan,
boolean readValues,
String[] eventTypes,
String[] keyTypes)
参数
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
commands | 字符串数组 | null | 此读取器注册的命令 |
eventTypes | 字符串数组 | null | 要注册的 事件类型 (通常是命令名称) |
keyTypes | 字符串数组 | null | 要注册的键类型 |
noScan | 布尔值 | false | 是否扫描键空间,还是只读取模式本身 |
pattern/prefix | 字符串 | "*"(匹配所有键) | 读取器将获取与该模式匹配的所有键 |
readValues | 布尔值 | true | 是否读取键的值 |
输出记录
为数据库中的每个匹配键创建 KeysReaderRecord
。
名称 | 类型 | 描述 |
---|---|---|
key | 字符串 | 键的名称 |
type | 长整型 | 核心 Redis 类型:'string'、'hash'、'list'、'set'、'zset' 或 'stream' |
event | 字符串 | 触发执行的事件(如果使用 run 函数,则为 null) |
stringVal | 字符串 | 字符串数据类型的键值 |
hashVal | Map<String,String> | 哈希数据类型的键值 |
listVal | 列表 |
列表数据类型的键值 |
setVal | 集合 |
集合数据类型的键值 |
示例
以下是一个 KeysReader
的基本示例,它为数据库中的所有键创建记录
KeysReader reader = new KeysReader();
在以下示例中,KeysReader
为数据库中以 "person:" 开头的所有键创建记录。注册后,它只在 HSET
和 DEL
事件发生后才对哈希运行。
String[] eventTypes = {"HSET", "DEL"};
String[] keyTypes = {"HASH"};
KeysReader reader = new KeysReader("person:*", false, true, eventTypes, keyTypes);