Redis
 sql >> база данни >  >> NoSQL >> Redis

Как да зададете изтичане на няколко ключа в Redis

Често разработчиците забравят да зададат изтичане на ключовете и на redis започва да изчерпва паметта. Въпреки че можете да зададете срок на валидност за новогенерирани ключове, все пак имате нужда от начин да зададете изтичане на ключове, които вече са в паметта.


Тази команда ще зададе изтичане на ключовете, съответстващи на потребители:*


Как работи скриптът?

  1. Първо използваме redis-cli --scan --pattern <pattern> за да получите списък с ключове, по един ключ на ред.
  2. След това стартираме awk скрипт за всеки ключ. Този awk скрипт е малко сложен, така че ще го разбием
  3. Скриптът awk има команден шаблон expire __key__ 1000 . Това е командата, която ще се изпълнява за всички ключове.
  4. За всеки съответстващ ключ командата awk замества __key__ с действителния ключ
  5. След това преобразуваме командата низ във формат на протокола redis. Това е необработеният формат, който redis разбира.
  6. Накрая изпращаме необработените команди към redis-cli с помощта на флага –pipe. Това е най-ефективният начин за изпращане на групови команди до redis.

Персонализиране на този скрипт

  1. Можете да персонализирате cmd_template за да изпълните всяка команда за redis с един ключ срещу множество клавиши, съответстващи на шаблон.
  2. Сканирането на Redis позволява само глобални стилове, регулярните изрази не се поддържат. Така че users:* ще съответства на users:123 както и users:123:favourites . Можете да поставите grep в конвейера след първия redis-cli и преди awk скрипта.
  3. Ако вашият Redis сървър не е на localhost, ще трябва да предоставите хоста, порта и паролата два пъти в командата, по принцип всеки път, когато извикате redis-cli.

Вижте също

  • Преименуване на полета в хеш
  • Преименувайте няколко клавиша с помощта на сканиране
  • Изтриване на клавиши, съответстващи на шаблон
  • RDBTools GUI за Redis ви позволява да визуализирате груповите си действия и предоставя мощен GUI за управление на данни в Redis. Това е безплатно изтегляне!

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да инсталирате Redis

  2. Кеширане на пружинно зареждане с redis, ключът има \xac\xed\x00\x05t\x00\x06

  3. Redis позволява ли само низово представяне, но не и числова стойност

  4. dial tcp [::1]:6397:connectex:Не може да се направи връзка, защото целевата машина активно я отказа

  5. Как да настроя манипулатори в RedMQ от събития, повдигнати в моя домейн