我想删除所有密钥。我要把一切都删掉,给我一个空白的数据库。
有没有办法在Redis客户端中做到这一点?
我想删除所有密钥。我要把一切都删掉,给我一个空白的数据库。
有没有办法在Redis客户端中做到这一点?
当前回答
您可以使用FLUSHDB
e.g
列出数据库:
127.0.0.1:6379> info keyspace
# Keyspace
列出关键字
127.0.0.1:6379> keys *
(empty list or set)
向键添加一个值
127.0.0.1:6379> lpush key1 1
(integer) 1
127.0.0.1:6379> keys *
1) "key1"
127.0.0.1:6379> info keyspace
# Keyspace
db0:keys=1,expires=0,avg_ttl=0
创建具有两个值的其他键
127.0.0.1:6379> lpush key2 1
(integer) 1
127.0.0.1:6379> lpush key2 2
(integer) 2
127.0.0.1:6379> keys *
1) "key1"
2) "key2"
127.0.0.1:6379> info keyspace
# Keyspace
db0:keys=2,expires=0,avg_ttl=0
列出键2中的所有值
127.0.0.1:6379> lrange key2 0 -1
1) "2"
2) "1"
做FLUSHDB
127.0.0.1:6379> flushdb
OK
列出密钥和数据库
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> info keyspace
# Keyspace
其他回答
对于任何想知道如何在C#中做到这一点的人来说,这与为Python提供的相同问题的答案是一样的。
我正在使用StackExchange.Risv2.2.88进行dot-net(核心)5项目。我只需要清除集成测试的密钥,我没有在生产中这样做的目的。
我检查了intelligense中可用的内容,我看不到用现有API实现这一点的常用方法。我想这是故意的,是故意的。幸运的是,API确实公开了Execute方法。
我通过执行以下操作进行了测试:
打开了一个命令窗口。我正在使用docker,所以我是通过docker完成的。键入redis cli,启动cli键入KEYS*,它会显示我的所有密钥,以便我可以在执行以下代码之前和之后验证它们是否存在://不要滥用,小心使用var cache=连接多路复用器.Connect(新配置选项{端点={“localhost:6379”}});var db=_cache.GetDatabase();db.Execute(“flushdb”);再次键入KEYS*并查看其为空。
希望这对任何寻找它的人都有帮助。
冲洗室,冲洗室从所有数据库中删除所有密钥
冲水阀从当前数据库中删除所有密钥
脚本刷新从脚本缓存中删除所有脚本。
如果可以使用RDM(Redis桌面管理器),效果会更好。您可以通过在RDM中创建新连接来连接到redis服务器。
连接后,您可以检查实时数据,也可以使用任何redis命令进行游戏。
在RDM中打开cli。
1) 右键单击连接,您将看到一个控制台选项,只需单击它,RDM底部将打开一个新的控制台窗口。
回到您的问题FLUSHOLL是命令,您只需在redis-cli中键入FLUSHALL即可。
此外,如果您想了解任何redis命令及其正确用法,请访问下面的链接。https://redis.io/commands.
停止Redis实例。删除RDB文件。启动Redis实例。
我认为有时会停止redis服务器并删除rdb、aof文件确保没有可以重新加载的数据。然后启动redis服务器,现在它是空的。