*FUNCTION LIST 命令
列出所有已加载的 Redis 函数库及其函数。Redis 7.0+ 引入。
*语法
FUNCTION LIST [LIBRARYNAME library-name] [WITHCODE]
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| LIBRARYNAME | String | 否 | 只列出指定库的信息 |
| WITHCODE | 标志 | 否 | 同时返回库的源代码 |
*返回值
| 条件 | 返回值 |
|---|---|
| 默认 | 库信息数组(库名、引擎、函数列表等) |
| WITHCODE | 包含源代码的库信息数组 |
*时间复杂度
O(N),N 为库数量。
*示例
> FUNCTION LIST
1) 1) "library_name"
2) "mylib"
3) "engine"
4) "LUA"
5) "functions"
6) 1) 1) "name"
2) "my_incr"
3) "description"
4) (nil)
5) "flags"
6) (empty array)
2) 1) "name"
2) "my_decr"
3) "description"
4) (nil)
5) "flags"
6) (empty array)
# 带源代码
> FUNCTION LIST LIBRARYNAME mylib WITHCODE
1) 1) "library_name"
2) "mylib"
...
7) "library_code"
8) "#!lua name=mylib\nredis.register_function('my_incr', ..."
*最佳实践
- 函数库管理:查看当前加载的函数库和函数列表,便于管理和版本控制。
*FAQ
Q: FUNCTION LIST 和 SCRIPT EXISTS 有什么区别? A: FUNCTION LIST 列出所有持久化函数库;SCRIPT EXISTS 检查单个 Lua 脚本的 SHA 是否在缓存中。