*Redis FUNCTION FLUSH 命令
FUNCTION FLUSH 用于删除 Redis 函数库中的所有函数,清空整个函数库。
*语法
FUNCTION FLUSH [ASYNC | SYNC]
*参数说明
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ASYNC | Flag | 否 | 异步清空(非阻塞) |
| SYNC | Flag | 否 | 同步清空(阻塞) |
*返回值
- OK:清空成功
- Error:权限不足等
*时间复杂度
O(N),其中 N 是函数库中函数的数量
*示例
*基本用法
> FUNCTION LOAD "#!lua name=mylib\nredis.register_function('myfunc', function(keys, args) return 'hello' end)"
mylib
> FUNCTION LIST
1) 1) "library_name"
2) "mylib"
> FUNCTION FLUSH
OK
> FUNCTION LIST
(empty array)
*异步清空
> FUNCTION FLUSH ASYNC
OK
*常见错误
| 错误 | 原因 | 解决 |
|---|---|---|
| ERR wrong number of arguments | 参数数量错误 | 检查参数是否正确 |
*最佳实践
*FAQ
Q1: FUNCTION FLUSH 和 FUNCTION DELETE 有什么区别? A: FUNCTION FLUSH 删除所有函数,FUNCTION DELETE 只删除指定函数。FLUSH 是全局操作,DELETE 是单函数操作。
Q2: 清空函数库会影响正在执行的函数吗? A: 正在执行的函数会继续完成,但新的函数调用会失败。
Q3: ASYNC 和 SYNC 有什么区别? A: ASYNC 在后台异步删除,立即返回;SYNC 等待所有函数删除完成后返回。默认行为取决于配置。