Redis中flushdb和flushall命令的区别

Redis中flushdb和flushall命令的区别

Redis中flushdb和flushall命令都可以清空数据库,不过需要注意以下几点:

  • flushdb命令只会清除当前数据库中的数据,而不会影响其他数据库
  • flushall会清除Redis实例所有数据库(0-15)的缓存数据,执行时候需要小心

1. flushdb命令

  • flushdb命令只会清除当前数据库中的数据,而不会影响其他数据库
  • 同步执行方式,会导致服务器阻塞
  • Redis4.0提供了异步的选项 flushdb async
    flushdb async, 实际数据库清空操作将放在后台线程中以异步方式进行,flushdb就不会再阻塞服务器了

假设数据库0存了3个键,数据库1存了2个键,别的数据库都没数据。在数据库1中执行flushdb命令,分别查看数据库中的键的个数,数据库0中键的个数是3,数据库1中键的个数变成0了。

127.0.0.1:6379> select 0
OK
127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> set b 2
OK
127.0.0.1:6379> set c 3
OK
127.0.0.1:6379> dbsize
(integer) 3
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> set a 2
OK
127.0.0.1:6379[1]> set b 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 2
127.0.0.1:6379[1]> flushdb
OK
127.0.0.1:6379[1]> dbsize
(integer) 0
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> dbsize
(integer) 3

2. flushall命令

  • flushall会清除Redis实例所有数据库(0-15)的缓存数据,执行flushall命令前要格外小心
  • 同步方式执行,会导致服务器阻塞
  • Redis4.0提供了异步的选项 flushall async
    flushall async 命令将以异步方式在后线程中执行所有实际的数据库清空操作,flushall命令将不会阻塞服务器了

假设数据库0存了3个键,数据库1存了2个键,别的数据库都是没数据。在数据库1中执行flushall命令,分别查看数据库中的键的个数,数据库0中键的个数变成0,数据库1中键的个数变成0。

127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> dbsize
(integer) 3
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 0
127.0.0.1:6379[1]> set a 1
OK
127.0.0.1:6379[1]> set b 2
OK
127.0.0.1:6379[1]> dbsize
(integer) 2
127.0.0.1:6379[1]> flushall
OK
127.0.0.1:6379[1]> dbsize
(integer) 0
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> dbsize
(integer) 0

3.使用到的命令介绍

3.1 select命令

select命令是用来切换到指定的数据库。select db

127.0.0.1:6379> select 0
OK
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> select 2
OK
127.0.0.1:6379[2]> select 15
OK

3.2 dbsize命令

dbsize命令是用来查看当前数据库中key的数量

127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> dbsize
(integer) 3
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 2
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值