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 | long | 核心 Redis 类型:“string”、“hash”、“list”、“set”、“zset”或“stream” |
event | 字符串 | 触发执行的事件(如果使用 run 函数,则为 null) |
stringVal | 字符串 | 字符串数据类型的键值 |
hashVal | Map<String,String> | 哈希数据类型的键值 |
listVal | List |
列表数据类型的键值 |
setVal | Set |
集合数据类型的键值 |
示例
这是一个 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);