Ofte glemmer udviklere at indstille et udløb på nøgler, og redis begynder at løbe tør for hukommelse. Selvom du kan indstille et udløb til nygenererede nøgler, har du stadig brug for en måde at indstille et udløb til nøgler, der allerede sidder i hukommelsen.
Denne kommando indstiller udløb til nøgler, der matcher brugere:*
Hvordan fungerer scriptet?
- For det første bruger vi
redis-cli --scan --pattern <pattern>
for at få en liste over nøgler, én tast pr. linje. - Vi kører derefter et awk-script for hver nøgle. Dette awk-script er lidt komplekst, så vi vil opdele det
- Awk-scriptet har en kommandoskabelon
expire __key__ 1000
. Dette er kommandoen, der kører for alle nøgler. - For hver matchende nøgle erstatter awk-kommandoen
__key__
med den faktiske nøgle - Dernæst konverterer vi strengkommandoen til redis-protokolformat. Dette er det rå format, som redis forstår.
- Til sidst sender vi de rå kommandoer til redis-cli ved hjælp af –pipe-flaget. Dette er den mest effektive måde at sende massekommandoer til redis.
Tilpasning af dette script
- Du kan tilpasse
cmd_template
at køre en vilkårlig tast redis-kommando mod flere taster, der matcher et mønster. - Redis-scanning tillader kun glob-stilmønstre, regex understøttes ikke. Så
users:*
vil matcheusers:123
samtusers:123:favourites
. Du kan indsætte engrep
i pipelinen efter den første redis-cli og før awk scriptet. - Hvis din redis-server ikke er på localhost, skal du angive værten, porten og adgangskoden to gange i kommandoen, stort set hver gang du kalder redis-cli.
Se også
- Omdøb felter i en Hash
- Omdøb flere taster ved hjælp af Scan
- Slet nøgler, der matcher et mønster
- RDBTools GUI til Redis giver dig mulighed for at forhåndsvise dine bulkhandlinger og giver dig en kraftfuld GUI til at administrere data i Redis. Det er en gratis download!