Ú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íflushallpomocíredis-cli.