Redis - это решение с открытым исходным кодом для хранения структур данных. Он в основном используется как хранилище значений ключей, что позволяет ему работать как база данных, кеш-хранилище и брокер сообщений.
В этом руководстве мы рассмотрим различные способы удаления этих пар "ключ-значение" (ключей) и очистки кеша Redis.
Очистить кеш Redis с помощью команды redis-cli
Самый простой способ очистить кеш Redis - использовать команду redis-cli
.
Базы данных в Redis хранятся индивидуально. Использование команды redis-cli
позволяет удалить ключи либо из всех баз данных, либо только из одной указанной базы данных.
Синтаксис команды redis-cli
Команда redis-cli использует следующий синтаксис:
redis-cli [номер базы данных] [опция]
Где:
- [опция] - позволяет выбрать между очисткой всех баз данных или одной конкретной базы данных по вашему выбору.
- [номер базы данных] - позволяет указать, какую базу данных вы хотите очистить.
Примечание. После удаления ключей из базы данных их невозможно будет восстановить.
Удаление всех ключей
Чтобы удалить ключи из всех баз данных Redis, используйте следующую команду:
Redis-Cli Flushall
Начиная с версии 4.0.0, Redis может очищать ключи в фоновом режиме, не блокируя ваш сервер. Для этого используйте команду flushall
с параметром async
:
Redis-cli flushall async
Удаление ключей из определенной базы данных
Используйте следующую команду, чтобы очистить только определенную базу данных:
Redis-cli flushdb
Использование команды flushdb
без каких-либо параметров очищает текущую выбранную базу данных. Используйте параметр -n
с номером базы данных, чтобы выбрать конкретную базу данных, которую вы хотите очистить:
redis-cli -n [номер базы данных] flushdb
Вы также можете использовать параметр async
при очистке ключей из отдельных баз данных:
redis-cli -n [номер базы данных] flushdb async
Автоматическая очистка кеша с помощью Ansible
Если у вас работает большое количество серверов Redis, очистка кеша для каждого из них вручную требует времени.
Чтобы ускорить этот процесс, используйте такой инструмент, как Ansible, чтобы очистить кеш на всех ваших серверах Redis одновременно:
ansible all -m command -a '/usr/bin/redis-cli flushall '
Выполнение этой команды применяет команду flushall
к каждому серверу в вашем файле инвентаризации Ansible:
all
- позволяет выбрать все удаленные хосты в файле инвентаризации Ansible.-m
- позволяет выбрать модуль для выполнения.-a
- Предоставляет аргумент для модуля. В этом случае командный модуль запускает командуflushall
с помощьюredis-cli
.