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

Как да преименувате множество ключове в Redis

Redis не предлага команда за групово преименуване на ключове в redis. Но е достатъчно лесно да създадете скрипт с помощта на redis-cli и някои инструменти на командния ред.


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

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

  1. Първо използваме redis-cli --scan --pattern за да получите списък с ключове, които трябва да бъдат преименувани. Тъй като използваме командата за сканиране, това не блокира Redis сървъра.
  2. След това използваме awk за заместване на низове и генериране на ново име. Това е gsub(/users/,"customers", new_key) в командата bash
  3. След това използваме генериране на нашата команда преименувай <стар ключ> <нов ключ> , но за да го направим ефективен, го генерираме във формат на протокола redis.
  4. Накрая предаваме протокола redis към redis-cli с --pipe опция. Това е най-ефективният начин за изпращане на поток от команди до сървъра на redis.

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

  1. Ако вашият Redis сървър не е на localhost, ще трябва да предоставите хоста, порта и паролата два пъти в командата, по принцип всеки път, когато извикате redis-cli.
  2. Ще трябва да замените шаблона за сканиране и повикването gsub, за да отговорите на вашите нужди.

Вижте също

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

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis срещу RabbitMQ като посредник на данни/система за съобщения между Logstash и elasticsearch

  2. Сагата за MassTransit с устойчивост на Redis дава методът Accpet няма изключение за внедряване

  3. Как да се свържа с екземпляр на Redis от функция на AWS Lambda?

  4. Компресия в node.js

  5. Има ли някакъв механизъм за заключване в Azure Redis Cache, докато актуализирате елемент?