作者:婕小米 | 来源:互联网 | 2023-05-30 11:38
在redis中,flushdb和flushall都是清空当前数据库的操作,但是两者有很大的区别:1、flushall清空数据库并执行持久化操作,也就是rdb文件会发
在redis中,flushdb和flushall 都是清空当前数据库的操作,但是两者有很大的区别:
1、flushall 清空数据库并执行持久化操作,也就是rdb文件会发生改变,变成76个字节大小(初始状态下为76字节),所以执行flushall之后数据库真正意义上清空了.
2、flushdb 清空数据库,但是不执行持久化操作,也就是说rdb文件不发生改变。而redis的数据是从rdb快照文件中读取加载到内存的。所以在flushdb之后,如果想恢复数据库,则可以直接kill掉redis-server进程,然后重新启动服务,这样redis重新读取rdb文件,数据恢复到flushdb操作之前的状态。
注意:要直接kill 掉redis-server服务,因为shutdown操作会触发持久化.
lsof -i:6379 命令查看redis-server的进程号,然后kill即可