Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Kết hợp hai phiên bản Redis thành một phiên bản duy nhất có hai dbs

CHỈNH SỬA

Câu trả lời này không còn chính xác đối với các phiên bản redis mới hơn. Để lại câu trả lời vì lý do lịch sử.

Nếu bạn muốn thử một chút với các tệp nhị phân, bạn có thể dễ dàng kết hợp hai tệp dump.rdb thành một.

Các giả định:

  1. Mỗi kết xuất chỉ có một cơ sở dữ liệu duy nhất - cơ sở dữ liệu mặc định
  2. Bạn đang sử dụng Redis 2.4.x và do đó phiên bản kết xuất là 2 hoặc 3

Nếu bạn mở tệp trong trình chỉnh sửa hex, đây là định dạng của tệp RDB -

REDIS000x FE 00 <actual data > FF

Đây -

  • 000x là số phiên bản rdb. Nó rất có thể sẽ là 0002 hoặc 0003 trong trường hợp của bạn
  • FE là bộ chọn cơ sở dữ liệu và 00 là số cơ sở dữ liệu
  • <actual data> là các cặp khóa-giá trị trong cơ sở dữ liệu hiện tại. Bạn có thể coi đây là một đốm màu nhị phân cho mục đích hiện tại của mình.
  • FF là byte cuối cùng trong tệp và cho biết phần cuối của tệp rdb

Vì vậy, để hợp nhất hai tệp rdb, hãy làm như sau -

  1. Tạo một tệp đích mới
  2. Sao chép mọi thứ từ tệp đầu tiên ngoại trừ FF cuối cùng
  3. Sao chép hai byte FE 01 để chỉ ra điểm bắt đầu của cơ sở dữ liệu thứ hai
  4. LƯU Ý:Nếu bạn chắc chắn hai cơ sở dữ liệu không có khóa trùng lặp và bạn muốn kết hợp chúng thành một cơ sở dữ liệu duy nhất, chỉ cần bỏ qua hai byte FE 01 đã đề cập ở trên.
  5. Từ tệp thứ hai, bỏ qua 11 byte đầu tiên - tức là bỏ qua REDIS000x FE 00
  6. Sao chép phần còn lại của tệp thứ hai, bao gồm cả byte cuối cùng FF

Bây giờ bạn có thể sao chép dump.rdb mới này vào thư mục thích hợp trong redis và khởi động lại.

Nếu bạn quan tâm, đây là tài liệu đầy đủ về định dạng tệp kết xuất redis, nhưng bạn không cần phải hiểu tất cả về nó cho trường hợp sử dụng đơn giản này.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. ModuleNotFoundError:Không có mô-đun nào có tên 'grp' trên windows

  2. Các dấu trọng âm được lưu trữ trong Red không thể đọc được

  3. Độ chính xác của lệnh redis dbsize

  4. API thương mại điện tử được tạo bằng Node-Js, Typescript, PostgreSQL, Redis và Kafka

  5. Muốn triển khai các ổ cắm web trong Laravel