sql >> Database teknologi >  >> NoSQL >> Redis

Sådan indstilles udløb til flere nøgler i Redis

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?

  1. For det første bruger vi redis-cli --scan --pattern <pattern> for at få en liste over nøgler, én tast pr. linje.
  2. Vi kører derefter et awk-script for hver nøgle. Dette awk-script er lidt komplekst, så vi vil opdele det
  3. Awk-scriptet har en kommandoskabelon expire __key__ 1000 . Dette er kommandoen, der kører for alle nøgler.
  4. For hver matchende nøgle erstatter awk-kommandoen __key__ med den faktiske nøgle
  5. Dernæst konverterer vi strengkommandoen til redis-protokolformat. Dette er det rå format, som redis forstår.
  6. 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

  1. Du kan tilpasse cmd_template at køre en vilkårlig tast redis-kommando mod flere taster, der matcher et mønster.
  2. Redis-scanning tillader kun glob-stilmønstre, regex understøttes ikke. Så users:* vil matche users:123 samt users:123:favourites . Du kan indsætte en grep i pipelinen efter den første redis-cli og før awk scriptet.
  3. 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!

  1. Indlæsning af partialer mislykkes på serveren JS

  2. Redis Keyspace-meddelelser med flushdb

  3. Tilgange til lagring af geospatiale data i Redis

  4. Redis-meddelelser:Få nøgle og værdi ved udløb