我想删除所有密钥。我要把一切都删掉,给我一个空白的数据库。

有没有办法在Redis客户端中做到这一点?


当前回答

到目前为止,答案是绝对正确的;它们删除所有键。

但是,如果您还想从Redis实例中删除所有Lua脚本,则应遵循以下步骤:

脚本刷新

OP提出两个问题:;这就完成了第二个问题(所有内容都已删除)。

其他回答

冲洗室,冲洗室从所有数据库中删除所有密钥

冲水阀从当前数据库中删除所有密钥

脚本刷新从脚本缓存中删除所有脚本。

到目前为止,答案是绝对正确的;它们删除所有键。

但是,如果您还想从Redis实例中删除所有Lua脚本,则应遵循以下步骤:

脚本刷新

OP提出两个问题:;这就完成了第二个问题(所有内容都已删除)。

这个方法对我有效——删除Jedis集群上当前连接的所有数据库。

public static void resetRedis() {
    jedisCluster = RedisManager.getJedis(); // your JedisCluster instance

    for (JedisPool pool : jedisCluster.getClusterNodes().values()) {

        try (Jedis jedis = pool.getResource()) {
            jedis.flushAll();
        }
        catch (Exception ex){
            System.out.println(ex.getMessage());
        }
    }

}

FLUSHOLL删除所有现有数据库的所有密钥。FOr Redis版本>4.0,支持FLUSHOLL ASYNC,它在后台线程中运行,不会阻塞服务器https://redis.io/commands/flushall

FLUSHDB-删除所选数据库中的所有密钥。https://redis.io/commands/flushdb

执行操作的时间复杂度将为O(N),其中N是数据库中的键的数量。

redis的响应将是一个简单的字符串“OK”

停止Redis实例。删除RDB文件。启动Redis实例。