Често разработчиците забравят да зададат изтичане на ключовете и на redis започва да изчерпва паметта. Въпреки че можете да зададете срок на валидност за новогенерирани ключове, все пак имате нужда от начин да зададете изтичане на ключове, които вече са в паметта.
Тази команда ще зададе изтичане на ключовете, съответстващи на потребители:*
Как работи скриптът?
- Първо използваме
redis-cli --scan --pattern <pattern>
за да получите списък с ключове, по един ключ на ред. - След това стартираме awk скрипт за всеки ключ. Този awk скрипт е малко сложен, така че ще го разбием
- Скриптът awk има команден шаблон
expire __key__ 1000
. Това е командата, която ще се изпълнява за всички ключове. - За всеки съответстващ ключ командата awk замества
__key__
с действителния ключ - След това преобразуваме командата низ във формат на протокола redis. Това е необработеният формат, който redis разбира.
- Накрая изпращаме необработените команди към redis-cli с помощта на флага –pipe. Това е най-ефективният начин за изпращане на групови команди до redis.
Персонализиране на този скрипт
- Можете да персонализирате
cmd_template
за да изпълните всяка команда за redis с един ключ срещу множество клавиши, съответстващи на шаблон. - Сканирането на Redis позволява само глобални стилове, регулярните изрази не се поддържат. Така че
users:*
ще съответства наusers:123
както иusers:123:favourites
. Можете да поставитеgrep
в конвейера след първия redis-cli и преди awk скрипта. - Ако вашият Redis сървър не е на localhost, ще трябва да предоставите хоста, порта и паролата два пъти в командата, по принцип всеки път, когато извикате redis-cli.
Вижте също
- Преименуване на полета в хеш
- Преименувайте няколко клавиша с помощта на сканиране
- Изтриване на клавиши, съответстващи на шаблон
- RDBTools GUI за Redis ви позволява да визуализирате груповите си действия и предоставя мощен GUI за управление на данни в Redis. Това е безплатно изтегляне!