我想删除所有密钥。我要把一切都删掉,给我一个空白的数据库。
有没有办法在Redis客户端中做到这一点?
我想删除所有密钥。我要把一切都删掉,给我一个空白的数据库。
有没有办法在Redis客户端中做到这一点?
当前回答
您可以在python中使用以下方法
def redis_clear_cache(self):
try:
redis_keys = self.redis_client.keys('*')
except Exception as e:
# print('redis_client.keys() raised exception => ' + str(e))
return 1
try:
if len(redis_keys) != 0:
self.redis_client.delete(*redis_keys)
except Exception as e:
# print('redis_client.delete() raised exception => ' + str(e))
return 1
# print("cleared cache")
return 0
其他回答
您的问题似乎是关于删除数据库中的所有密钥。在这种情况下,您应该尝试:
连接到redis。您可以使用命令redis-cli(如果在端口6379上运行),否则还必须指定端口号。选择数据库(命令Select{Index})执行命令flushdb
如果您想刷新所有数据库中的密钥,那么应该尝试刷新。
使用redis cli:
FLUSHDB–从连接的当前数据库中删除所有密钥。FLUSHOLL–从所有数据库中删除所有密钥。
例如,在shell中:
redis-cli flushall
打开redis cli并键入:
FLUSHALL
警惕FLUSHOLL可能过度使用。FLUSHDB仅用于刷新数据库。FLUSHOLL将清除整个服务器。就像服务器上的每个数据库一样。由于问题是关于刷新数据库,我认为这是一个足够重要的区别,值得单独回答。
如果您正在使用redis-rb-gem,那么您可以简单地调用:
your_redis_client.flushdb