Tôi có Bộ đệm Giao thức để ghi dữ liệu.Ghi tăng dần đối tượng Bộ đệm Giao thức
message Message {
required double val1 = 1;
optional int val2 = 2;
}
message BigObject {
repeated Message message = 1;
}
Tôi nhận được thư một giây. Chúng được lưu trữ trong bộ nhớ với BigObject của tôi và chúng được sử dụng cho một số nhiệm vụ. Nhưng đồng thời tôi muốn lưu trữ các tin nhắn đó trong tập tin để sao lưu trong trường hợp sự cố ứng dụng. Viết đơn giản BigObject mỗi lần sẽ lãng phí thời gian. Và tôi cố gắng tìm cách để chỉ viết các tin nhắn được thêm vào kể từ lần cuối cùng ghi vào tập tin. Có cách nào cho điều đó không?
làm bạn có nghĩa là msg.WriteTo (tập tin) ; ? –
hmm .. khi tôi đã làm 'msg-> SerializeToZeroCopyStream (đầu ra);' 100x lần kích thước tệp là 3800 nhưng khi tôi đã làm 'bigObject-> SerializeToZeroCopyStream (đầu ra);' kích thước tệp là 4000 bitObject chứa 100 msg. vì vậy tôi nghĩ chúng tôi đã bỏ lỡ điều gì đó. –
oh. tôi hiểu, bạn nói đúng. một bigObject với 10 đối tượng msg ở định dạng nhị phân giống như 10 đối tượng bigObject với 1 msg mỗi. –