HASH
写入 HASH 数据
向 HASH 中写入指定键值,可选过期时间、过期触发和执行范围,适用于全局缓存、运行时状态和快速查表场景。
命令用途
Hash-Set 对应的实际命令写法是 HASH <标识> Set,用于向 HASH 容器写入指定键值。
它通常用于运行时缓存、全局状态记录、玩家标记、冷却记录和临时查表数据维护。
命令名
Hash-Set
调用格式
HASH <标识> Set <KEY> [VALUE] [过期时间(秒)] [过期触发标签] [执行者]
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
标识 | 是 | HASH 容器标识,类似一个命名空间。 |
Set | 是 | 固定子命令,表示写入或更新指定键值。 |
KEY | 是 | 要写入的键名。 |
VALUE | 否 | 键对应的值。省略时通常用于只记录键存在。 |
过期时间(秒) | 否 | 键值的生存时间,省略时通常表示不过期。 |
过期触发标签 | 否 | 到期后触发的标签。 |
执行者 | 否 | 执行范围。已知 G 表示全局。 |
返回或影响
- 该命令会向指定 HASH 中写入或更新一个键值。
- 可以只记录某个键存在,也可以同时记录对应值。
- 可选过期时间与过期触发,适合做临时状态或冷却控制。
- 该命令本身不是检查命令;是否存在通常要交给
HashExists或其它读取命令判断。 - 过期触发标签执行时,可使用
$PARAM(0)(标识)、$PARAM(1)(key)、$PARAM(2)(value)、$PARAM(3)(执行者名称)读取触发参数。
示例
基础用法
#ACT
HASH <$USERNAME> Set 新人礼包 1 86400 @GiftExpired
这段写法用于给当前角色记录一个名为“新人礼包”的 HASH 标记,值为 1,有效期 86400 秒,并在到期后进入指定标签处理。
常见变体
#ACT
HASH 活动状态 Set 跨服开关 1 0 @None G
这类写法用于记录全局活动状态。最后一个参数写 G 时,表示这个 HASH 以全局范围维护,而不是跟随单个执行者。
注意事项
Hash-Set是文档里的速查名,真正执行时写法是HASH <标识> Set ...。- 如果业务只需要判断某个键是否存在,通常应配合
HashExists,不要把写入命令当成检查命令使用。 - 涉及过期触发时,要提前确认触发标签和执行上下文是否已经准备好。
