2012-11-14 38 views
5

Tôi chỉ cần làm theo post này để kiểm tra Chế độ xem Couchbase.Khi chế độ xem chỉnh sửa sử dụng Couchbase GUI và lưu, chế độ xem không cập nhật ngay lập tức.Couchbase Xem không cập nhật ngay lập tức?

Đối example.With script php lưu trữ một số mảng để Couchbase.And định nghĩa một 'qua' xem có tên trong tài liệu 'dev_sessions':

function (doc) { 
if(doc.namespace == 'sessions') { 
emit(doc.lastSeen, 1); 
} 
} 

Sau đó sử dụng curl để có được những kết quả json. Lần đầu tiên:

$ curl 
http://192.168.228.134:8092/default/_design/dev_sessions/_view/last/?group_level=1&reduce=true' 
{"rows":[ ] } 

Thứ hai:

$ curl 'http://192.168.228.134:8092/default/_design/dev_sessions/_view/last/?group_level=1&reduce=true' 
{"rows":[ 
{"key":1352872218,"value":1}, 
{"key":1352879418,"value":3} 
] 
} 

thử nghiệm khác, thêm một mảng mới trong kịch bản php:

'eb255262434407766f212d1b6f23' => array(
'namespace' => 'sessions', 
"type" => "user", 
"userID" => "1107", 
'lastSeen' => time(), 
'firstSeen' => time(), 
"remoteAddress" => "2.3.4.5", 
"location" => "Vienna/Austria", 
"name" => "Golden K" 

Run curl một lần nữa, lần đầu tiên:

$ curl 'http://192.168.228.134:8092/default/_design/dev_sessions/_view/last/?group_level=1&reduce=true' 
{"rows":[ 
{"key":1352872218,"value":1}, 
{"key":1352879418,"value":3} 
] 
} 

Lần thứ hai:

$ curl 'http://192.168.228.134:8092/default/_design/dev_sessions/_view/last/?group_level=1&reduce=true' 
{"rows":[ 
{"key":1352875163,"value":1}, 
{"key":1352882363,"value":4} 
] 
} 

Nếu dữ liệu thay đổi hoặc xem kịch bản, bấm nút Views - 'Show Results' trong Couchbase GUI, lần thứ hai đầu tiên & không khác nhau. Tại sao Chế độ xem không cập nhật ngay lập tức?

+0

Nếu dữ liệu thay đổi hoặc xem kịch bản, chỉ có lần đầu tiên được bắt nguồn từ một quan điểm không được cập nhật Sau khi lần chạy thứ hai, chế độ xem này và tất cả các giao diện khác của lượt xem sẽ cập nhật đồng bộ hóa. Kết quả là sửa. – user1815744

Trả lời

12

Đây là hành vi mong đợi. Couchbase là theo mặc định "cập nhật" chỉ mục sau khi cuộc gọi của chế độ xem. Và điều này để có thời gian phản ứng nhanh hơn.

Khi thực hiện chế độ xem, bạn có thể kiểm soát trạng thái của chế độ xem (trên thực tế chỉ mục của nó) bằng thông số cũ.

Trong trường hợp của bạn chỉ cần làm một:

curl 'http://192.168.228.134:8092/default/_design/dev_sessions/_view/last/?group_level=1&reduce=true&stale=false' 

Và nó sẽ cập nhật các chỉ số trước khi trở về dữ liệu vào ứng dụng của bạn.

Bạn có thể tìm thấy trong tài liệu tất cả các thông tin về thông số này và làm thế nào các quan điểm đang làm việc:

http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-views-writing-stale.html

+0

THX.Không rõ ràng.BTW, Couchbase Khối spam của Forums quá nghiêm ngặt đối với IP Châu Á. Tôi đã thay đổi ba IP, từ Trung Quốc sang HK, nhưng vẫn không thể gửi bài đăng mới.%> _ <% – user1815744

+0

Không chắc chắn liên quan đến địa chỉ IP nhưng có thể do số lượng liên kết bạn đưa vào thư của mình. Tôi sẽ nâng cấp đó lên Trình quản lý cộng đồng Couchbase –

Các vấn đề liên quan