FUNCTION

管理已注册的函数库及其序列化表示。

Lua 与函数 · 示例已验证

本页覆盖的语法

FUNCTION LOAD library-source | FUNCTION LIST | FUNCTION DUMP | FUNCTION RESTORE payload | FUNCTION DELETE library-name | FUNCTION FLUSH

测试列出已加载的库,导出后清空目录,再还原载荷;随后成功调用函数,最后删除其所属库。

实测示例与返回值

下列请求按顺序执行;每个场景使用空数据库。连接先通过测试密码认证。双引号表示字符串,null 表示空回复,数组按 RESP 顺序展示。

# connection: default
> FUNCTION FLUSH
"OK"
# connection: default
> FUNCTION LOAD "#!lua name=manual\nredis.register_function{function_name='read_value', callback=function(keys,args) return redis.call('GET',keys[1]) end, flags={'no-writes'}}"
"manual"
# connection: default
> SET sample value
"OK"
# connection: default
> FUNCTION LIST
[["library_name","manual","engine","LUA","functions",[["name","read_value","description",null,"flags",["no-writes"]]]]]
# connection: default
> FUNCTION DUMP
{"base64":"9UCdIyFsdWEgbmFtZT1tYW51YWwKcmVkaXMucmVnaXN0ZXJfZnVuY3Rpb257ZnVuY3Rpb25fbmFtZT0ncmVhZF92YWx1ZScsIGNhbGxiYWNrPWZ1bmN0aW9uKGtleXMsYXJncykgcmV0dXJuIHJlZGlzLmNhbGwoJ0dFVCcsa2V5c1sxXSkgZW5kLCBmbGFncz17J25vLXdyaXRlcyd9fQsAJws2BkRcHfQ=","bytes":170}
# Capture these exact bytes as libraries.
# connection: default
> FUNCTION FLUSH
"OK"
# connection: default
> FUNCTION RESTORE <captured:libraries>
"OK"
# connection: default
> FCALL read_value 1 sample
"value"
# connection: default
> FUNCTION DELETE manual
"OK"

captured 标记代表前一请求返回的原始字节,不是要直接输入的字符串。二进制回复用 Base64 展示;可执行测试会原样传递字节。

验证范围:本页列出的参数形式、准备步骤和断言。示例不证明未列出的选项或部署模式;请使用自己的数据和客户端运行应用测试。
测试环境与可复现证据

验证时间: 2026-09-21T11:06:06Z · Docker / Linux aarch64 · lavik 0.1.0-beta.1

存储与连接: io_uring · 临时文件、2 个工作线程、单机、明文 TCP、密码认证。此测试不衡量 NVMe 性能。

固定源码: 3955b98d43b312324aa8d52775df52cfb111c0d0

二进制 SHA-256: 8306b37ddf05023f85166a6aa2192b7084757e8defd342b602e6470244aca887

镜像: sha256:af0cfb11b78f184cb6cc49a774a49dc97a8e43a0bd3f4d63d83c8c9ef3282d6e

完整测试记录 · 可执行测试

Lavik 命令注册源码 · Valkey 对应命令(支持范围可能不同)