清空整个 Redis 中的数据(清空所有数据库的所有 key,不仅仅是当前 select 的数据库 )。
此命令不会失败。时间复杂度是 O(N), N 代表所有数据库中 key 的总数。
*FLUSHALL ASYNC
(Redis 4.0.0 or greater)
支持在后台单独的线程执行删除 key 的操作而不阻塞 Redis。
FLUSHALL 和FLUSHDB
增加了ASYNC
来使整个数据集或单个数据库异步释放。
异步FLUSHALL
和FLUSHDB
命令仅仅删除它们被调用时已经存在的 key。命令调用之后,删除 key 的过程中新建的 key 不受影响。
*返回值
字符串 OK
*例子
# 0 号数据库的 key 数量
redis> DBSIZE
(integer) 19
# 切换到 1 号数据库
redis> SELECT 1
OK
# 1 号数据库的 key 数量
redis[1]> DBSIZE
(integer) 16
# 清空所有数据库的所有 key
redis[1]> flushall
OK
# 不但 1 号数据库被清空了
redis[1]> DBSIZE
(integer) 0
# 0 号数据库(以及其他所有数据库)也一样
redis[1]> SELECT 0
OK
redis> DBSIZE
(integer) 0