Redis erbjuder inte ett sätt att massradera nycklar. Du kan dock använda redis-cli och lite kommandoradsmagi för att radera nycklar utan att blockera redis.
Detta kommando tar bort alla nycklar som matchar användare:*
redis-cli --scan --pattern users:* | xargs redis-cli del
Om du använder Redis 4.0 eller senare kan du använda kommandot unlink istället för att ta bort nycklar i bakgrunden.
redis-cli --scan --pattern users:* | xargs redis-cli unlink
Hur fungerar skriptet?
- Först använder vi
redis-cli --scan --pattern <pattern>
för att få en lista med nycklar, en nyckel per rad. Eftersom denna använder skanning, blockeras inte redis-servern. xargs
tar flera rader och kombinerar dem på samma rad, så du kör i princip kommandotdel <key1> <key2>...
- Om du har tusentals nycklar som matchar mönstret kommer xargs automatiskt att köra redis-cli flera gånger.
Se även
- Byt namn på fält i en hash
- Ange utgångsdatum till flera nycklar
- Byt namn på flera nycklar med Scan
- RDBTools GUI för Redis låter dig förhandsgranska dina bulkåtgärder och tillhandahåller ett kraftfullt GUI för att hantera data i Redis. Det är en gratis nedladdning!