Як спорожнити базу даних Redis?


164

Я грав з Redis (і додаю йому задоволення) протягом останніх кількох днів, і я хотів би знати, чи є спосіб спорожнити db (видалити набори, наявний ключ ....) .
Під час моїх тестів я створив кілька наборів з великою кількістю членів, навіть створив набори, які не пам’ятаю імені (як я можу перерахувати цих хлопців?).
Будь-яка ідея про те, як позбутися від них усіх?

Відповіді:



136

Будьте обережні тут.

FlushDB видаляє всі ключі в поточній базі даних, тоді як FlushALL видаляє всі ключі з усіх баз даних поточного хоста.


Чи є якийсь мінус використання FlushDB для очищення конкретної бази даних від виробничого коду?
Алекс Наспо

1
@AlexNaspo потенційно проблематичний, оскільки чим більша у вашій БД, тим довше буде витрачатися. Оскільки нумерованими (спільними) базами даних керує той самий сервер Redis, це може блокувати ваші інші бази даних протягом цієї тривалості. Якщо можливо, утримайтеся від використання спільних баз даних через це, а також тому, що вони не є надійними для майбутнього (не підтримуються в v3). Детальніше дивіться тут: redislabs.com/blog/…
Ітамар Хабер

@ItamarHaber Який найефективніший спосіб видалити або закінчити термін дії набору ключів, що відповідають певному формату?
Алекс Наспо

1
@AlexNaspo, якщо ви використовуєте v2.8 +, комбінація SCAN і DEL чудово виконає трюк. Дивіться тут сценарій bash, який це робить: stackoverflow.com/a/23399125/3160475
Ітамар Хабер

$ redis-cliпотім виберіть базу даних. Я > select 0> FLUSHDB
вибираю


30

tldr: flushdbочищає одну базу даних та flushallочищує всі бази даних

Очистити СУЧАСНО

Видаліть базу даних за замовчуванням або вибрану в даний час (зазвичай `0) за допомогою

redis-cli flushdb

Чіткий СПЕЦИФІЧНИЙ

Видаліть конкретну базу даних redis за допомогою (наприклад, 8як моя цільова база даних):

redis-cli -n 8 flushdb 

Очистити ВСІ

Видалити всі бази даних Redis за допомогою

redis-cli flushall

2

Є правильні відповіді, але я просто хочу додати ще один варіант (вимагає простою):

  1. Зупиніть Редіс.
  2. Видаліть файл RDB (знайдіть місце у redis.conf).
  3. Почніть Редіс.

0

відкрийте свій Redis cli та Є два можливі варіанти, якими ви можете скористатися:

FLUSHDB - Видалення всіх ключів поточно вибраної БД. FLUSHALL - Видаліть усі ключі з усіх існуючих баз даних, а не лише вибрану.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.