Tôi thấy mẫu này rất nhiều.truy vấn được phân trang/công thức lặp lại
Mở server:
// Get a bounded number of results, along with a resume token to use
// for the next call. Successive calls yield a "weakly consistent" view of
// the underlying set that may or may not reflect concurrent updates.
public<T> String getObjects(
int maxObjects, String resumeToken, List<T> objectsToReturn);
On khách hàng:
// An iterator wrapping repeated calls to getObjects(bufferSize, ...)
public<T> Iterator<T> getIterator(int bufferSize);
Hầu hết những nơi tung phiên bản riêng của họ về hai phương pháp này, và việc triển khai là đáng ngạc nhiên khó khăn để có được quyền. Có rất nhiều lỗi trường hợp cạnh.
Có một công thức hoặc thư viện chuẩn cho các truy vấn này không?
(bạn có thể thực hiện một số giả định đơn giản hóa cho bộ nhớ phía máy chủ, ví dụ: T có thứ tự tự nhiên).
Tôi không nghĩ rằng đây sẽ dtrt nếu bảng được đồng thời sửa đổi, bởi vì tất cả các offsets tiếp theo sẽ không phù hợp. – ashm
Trong trường hợp đó, bạn chuyển một tham số bổ sung cho id cho vị trí tiếp tục từ thay vì sử dụng bộ đếm trang và bù đắp. Cấu trúc mã không thay đổi. –