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:
- 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
- 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 -
- Tạo một tệp đích mới
- Sao chép mọi thứ từ tệp đầu tiên ngoại trừ
FF
cuối cùng - Sao chép hai byte
FE 01
để chỉ ra điểm bắt đầu của cơ sở dữ liệu thứ hai - 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. - Từ tệp thứ hai, bỏ qua 11 byte đầu tiên - tức là bỏ qua
REDIS000x FE 00
- 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.