Úvod
Redis je open-source řešení pro ukládání datových struktur. Primárně se používá jako úložiště klíč-hodnota, což mu umožňuje pracovat jako databáze, mezipaměť a zprostředkovatel zpráv.
V tomto tutoriálu se podíváme na různé způsoby, jak smazat tyto páry klíč–hodnota (klíče) a vymazat mezipaměť Redis.
Předpoklady
- Nejnovější verze Redis (viz náš průvodce, jak nainstalovat Redis na Ubuntu, na Mac nebo jak spustit Redis na Dockeru)
- Přístup do příkazového řádku / okna terminálu
Vymažte mezipaměť Redis pomocí příkazu redis-cli
Nejjednodušší způsob, jak vymazat mezipaměť Redis, je použít redis-cli
příkaz.
Databáze v Redis jsou uloženy jednotlivě. Pomocí redis-cli
umožňuje buď vymazat klíče ze všech databází, nebo pouze z jedné určené databáze.
Syntaxe příkazu redis-cli
redis-cli
používá následující syntaxi:
redis-cli [database number] [option]
Kde:
[option]
– Umožňuje vám vybrat si mezi vymazáním všech databází nebo jedné konkrétní databáze podle vašeho výběru.[database number]
– Umožňuje určit, kterou databázi chcete vymazat.
Smazání všech klíčů
Chcete-li odstranit klíče ze všech databází Redis, použijte následující příkaz:
redis-cli flushall
Od verze 4.0.0 může Redis vymazat klíče na pozadí, aniž by blokoval váš server. Chcete-li to provést, použijte flushall
pomocí příkazu async
parametr:
redis-cli flushall async
Odstranění klíčů z konkrétní databáze
Následující příkaz použijte k vymazání pouze určité databáze:
redis-cli flushdb
Pomocí flushdb
příkaz bez jakýchkoli parametrů vymaže aktuálně vybranou databázi. Použijte -n
parametr s číslem databáze pro výběr konkrétní databáze, kterou chcete vymazat:
redis-cli -n [database number] flushdb
Můžete také použít async
možnost při mazání klíčů z jednotlivých databází:
redis-cli -n [database number] flushdb async
Automatické mazání mezipaměti pomocí Ansible
Pokud máte spuštěno velké množství serverů Redis, ruční vymazání mezipaměti každého z nich zabere čas.
Chcete-li tento proces urychlit, použijte nástroj jako Ansible k vymazání mezipaměti na všech serverech Redis současně:
ansible all -m command -a '/usr/bin/redis-cli flushall '
Spuštěním tohoto příkazu se použije flushall
příkaz ke každému serveru ve vašem souboru inventáře Ansible:
all
– Umožňuje vybrat všechny vzdálené hostitele v souboru inventáře Ansible.-m
– Umožňuje vám vybrat modul, který chcete spustit.-a
– Poskytuje argument pro modul. V tomto případě příkazový modul spustíflushall
pomocíredis-cli
.