*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', ..."

*最佳实践

  1. 函数库管理:查看当前加载的函数库和函数列表,便于管理和版本控制。

*FAQ

Q: FUNCTION LIST 和 SCRIPT EXISTS 有什么区别? A: FUNCTION LIST 列出所有持久化函数库;SCRIPT EXISTS 检查单个 Lua 脚本的 SHA 是否在缓存中。