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?
- Nejprve používáme
redis-cli --scan --pattern <pattern>
Chcete-li získat seznam klíčů, jeden klíč na řádek. - Potom spustíme skript awk pro každý klíč. Tento skript awk je trochu složitý, takže ho rozebereme
- Skript awk má šablonu příkazu
expire __key__ 1000
. Toto je příkaz, který se spustí pro všechny klíče. - Pro každý odpovídající klíč příkaz awk nahradí
__key__
se skutečným klíčem - Dále převedeme příkaz string do formátu protokolu redis. Toto je surový formát, kterému redis rozumí.
- 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
- 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. - Redis scan umožňuje pouze vzory ve stylu glob, regulární výraz není podporován. Takže
users:*
bude odpovídatusers:123
a takéusers:123:favourites
. Můžete vložitgrep
v potrubí po prvním redis-cli a před skriptem awk. - 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!