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

Комбинирайте два екземпляра на Redis в един екземпляр с два dbs

РЕДАКТИРАНЕ

Този отговор вече не е точен за по-новите версии на redis. Оставяме отговора по исторически причини.

Ако желаете да поиграете малко с двоични файлове, можете лесно да комбинирате двата файла dump.rdb в един.

Предположения :

  1. Всяко сметище има само една база данни – базата данни по подразбиране
  2. Използвате Redis 2.4.x и следователно дъмп версията е 2 или 3

Ако отворите файла в шестнадесетичен редактор, това е форматът на RDB файла -

REDIS000x FE 00 <actual data > FF

Тук -

  • 000x е номерът на версията на rdb. Най-вероятно ще бъде 0002 или 0003 във вашия случай
  • FE е селекторът на базата данни и 00 е номерът на базата данни
  • <actual data> е двойките ключ-стойност в текущата база данни. Можете да третирате това като двоичен blob за текущата си цел.
  • FF е последният байт във файла и показва края на rdb файла

Така че, за да обедините двата rdb файла, направете следното -

  1. Създайте нов целеви файл
  2. Копирайте всичко от първия файл с изключение на последния FF
  3. Копирайте два байта FE 01 за указване на началото на втората база данни
  4. ЗАБЕЛЕЖКА:Ако сте сигурни, че двете бази данни нямат дублирани ключове и искате да ги комбинирате в една база данни, просто пропуснете двата байта FE 01 споменато по-горе.
  5. От втория файл пропуснете първите 11 байта - т.е. пропуснете REDIS000x FE 00
  6. Копирайте върху останалата част от втория файл, включително последния байт FF

Вече можете да копирате този нов dump.rdb в съответната директория в redis и да рестартирате.

Ако се интересувате, ето пълната документация за файловия формат на redis dump, но не е нужно да разбирате всичко за този прост случай на употреба.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Стартирайте redis-сървъра с конфигурационен файл

  2. Как NoSQL бази данни се представят върху агрегатни функции (AVG, SUM и т.н.)

  3. Как да настроите Docker Redis контейнер с ssl

  4. Надеждни библиотеки за интеграционни тестове за Spring boot redis

  5. Намиране на неизтичащи ключове в Redis