Как мне удалить все в Redis? - PullRequest
664 голосов
/ 28 июля 2011

Я хочу удалить все ключи.Я хочу, чтобы все стерли с лица земли и дали мне пустую базу данных.

Есть ли способ сделать это в Redis клиенте?

Ответы [ 20 ]

3 голосов
/ 13 сентября 2017
  1. Остановить экземпляр Redis.
  2. Удалить файл RDB.
  3. Запустить экземпляр Redis.
2 голосов
/ 05 октября 2017

redis-cli -h <host> -p <port> flushall

Он удалит все данные с подключенного клиента (с хостом и портом)

2 голосов
/ 31 июля 2017

Я думаю, что иногда останавливайте redis-сервер и удаляйте rdb-файлы, убедитесь, что данные не могут быть загружены.затем запустите редис-сервер, теперь он новый и пустой.

1 голос
/ 16 августа 2018

Откройте Redis-Cli и введите:

FLUSHALL
1 голос
/ 26 декабря 2018

Вы можете использовать FLUSHDB

* 1004 например *

Список баз данных:

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"

Do 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
1 голос
/ 13 марта 2018

После запуска Redis-сервера с помощью: service redis-server start --port 8000 или redis-server.

Используйте redis-cli -p 8000 для подключения к серверу в качестве клиента в другом терминале.

Youможно использовать

  1. FLUSHDB - Удалить все ключи выбранной в данный момент БД.Эта команда никогда не подведет.Сложность по времени для этой операции составляет O (N), где N - это количество ключей в базе данных.
  2. FLUSHALL - Удалить все ключи всех существующих баз данных, а не тольков настоящее время выбран один.Эта команда никогда не подведет.Сложность по времени для этой операции составляет O (N), где N - это число ключей во всех существующих базах данных.

Проверьте документацию для опции ASYNC для обоих вариантов.*

Если вы используете Redis через его интерфейс Python, используйте эти две функции для одинаковых функций:

def flushall(self):
    "Delete all keys in all databases on the current host"
    return self.execute_command('FLUSHALL')

и

def flushdb(self):
    "Delete all keys in the current database"
    return self.execute_command('FLUSHDB')
0 голосов
/ 06 декабря 2018

Один клик в FastoRedis / FastoNoSQL

enter image description here

0 голосов
/ 07 октября 2018

Есть разные подходы. Если вы хотите сделать это удаленно, введите flushall для этого экземпляра с помощью инструмента командной строки redis-cli или любых других инструментов, например, telnet, SDK языка программирования. Или просто войдите в систему на этом сервере, завершите процесс, удалите его файл dump.rdb и appendonly.aof (сделайте резервную копию перед удалением).

0 голосов
/ 27 сентября 2018

Лучше, если у вас есть RDM (Redis Desktop Manager). Вы можете подключиться к вашему серверу Redis, создав новое соединение в RDM.

После подключения вы можете проверить текущие данные, а также можете поиграть с любой командой redis.

Открытие кли в RDM.

1) Щелкните правой кнопкой мыши на соединении, вы увидите опцию консоли, просто нажмите на нее, откроется новое окно консоли в нижней части RDM.

Возвращаясь к вашему вопросу, FLUSHALL - это команда, вы можете просто набрать FLUSHALL в redis cli.

Более того, если вы хотите узнать о любой команде redis и ее правильном использовании, перейдите по ссылке ниже. https://redis.io/commands.

0 голосов
/ 17 августа 2018

Ваши вопросы, похоже, касаются удаления целых ключей в базе данных. В этом случае вам следует попробовать:

  1. Подключение к Redis. Вы можете использовать команду redis-cli (если она работает на порту 6379), иначе вам также нужно будет указать номер порта.
  2. Выберите базу данных (команда select {Index})
  3. Выполнить команду flushdb

Если вы хотите сбросить ключи во всех базах данных, попробуйте flushall.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...