sql >> Databáze >  >> NoSQL >> Redis

Jak nastavit expiraci na více klíčů v Redis

Vývojáři často zapomenou nastavit vypršení platnosti klíčů a redis začne docházet paměť. I když můžete nastavit expiraci pro nově vygenerované klíče, stále potřebujete způsob, jak nastavit expiraci pro klíče již uložené v paměti.


Tento příkaz nastaví platnost klíčů odpovídajících uživatelům:*


Jak skript funguje?

  1. Nejprve používáme redis-cli --scan --pattern <pattern> Chcete-li získat seznam klíčů, jeden klíč na řádek.
  2. Potom spustíme skript awk pro každý klíč. Tento skript awk je trochu složitý, takže ho rozebereme
  3. Skript awk má šablonu příkazu expire __key__ 1000 . Toto je příkaz, který se spustí pro všechny klíče.
  4. Pro každý odpovídající klíč příkaz awk nahradí __key__ se skutečným klíčem
  5. Dále převedeme příkaz string do formátu protokolu redis. Toto je surový formát, kterému redis rozumí.
  6. Nakonec převedeme nezpracované příkazy do redis-cli pomocí příznaku –pipe. Toto je nejefektivnější způsob odesílání hromadných příkazů společnosti redis.

Přizpůsobení tohoto skriptu

  1. Můžete přizpůsobit cmd_template ke spuštění libovolného příkazu redis s jednou klávesou proti více klávesám odpovídajících vzoru.
  2. Redis scan umožňuje pouze vzory ve stylu glob, regulární výraz není podporován. Takže users:* bude odpovídat users:123 a také users:123:favourites . Můžete vložit grep v potrubí po prvním redis-cli a před skriptem awk.
  3. Pokud váš server redis není na localhost, budete muset zadat hostitele, port a heslo dvakrát v příkazu, v podstatě kdykoli zavoláte redis-cli.

Viz také

  • Přejmenování polí v hash
  • Přejmenovat více klíčů pomocí skenování
  • Odstranit klíče odpovídající vzoru
  • RDBTools GUI pro Redis vám umožňuje zobrazit náhled hromadných akcí a poskytuje výkonné GUI pro správu dat v Redis. Je to ke stažení zdarma!

  1. MongoDB – Omezte výsledky dotazu

  2. Opravdu má být Redigo Redis Pool globální proměnnou?

  3. chcete provozovat redis-server na pozadí nonstop

  4. Operátor agregačního potrubí MongoDB $max