2012-11-14 18 views
5

Sadece Couchbase Görünümü'nü test etmek için bu post'u takip ediyorum. Görünümü düzenle, Couchbase GUI'yi kullan ve kaydet, görünüm hemen güncellenmedi. Couchbase Görünüm hemen güncellenmiyor mu?

example.With php scriptler Couchbase.And bazı dizi 'dev_sessions' belgesinde adlandırılmış 'son' görünümü tanımlamak depolamak için

:

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

Sonra json sonucu almak için curl kullanın. İlk kez: İkinci

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

:

$ 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} 
] 
} 

diğer bir test, php komut yeni bir dizi ekleyin:

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

çalıştırın kıvırmayı tekrar, ilk defa:

$ 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} 
] 
} 

İkinci kez: değişti veri veya kod görüntüleme, Couchbase GUI Views - 'Show Results' düğmesini tıklarsanız

$ 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} 
] 
} 

, ilk & ikinci kez farklı yapar. Neden Görünüm hemen güncellenmiyor?

+0

değiştirilmez veri veya kod görüntüleme, sadece ilk kez güncellemek bir görünümden değil sonucu olsun İkinci kez çalıştırıldıktan sonra, bu görünüm ve diğer tüm görünümler, senkronizasyonu günceller. Sonuç, kararlıdır. – user1815744

cevap

12

Bu beklenen bir davranıştır. Couchbase, varsayılan olarak görünümün çağrısından sonra dizini "günceller". Ve bu daha hızlı tepki süresine sahip.

Bir görünümü yürütürken, eski parametresini kullanarak görünümün durumunu (aslında dizinini) denetleyebilirsiniz.

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

Ve uygulamanıza verileri dönmeden önce dizinini günceller: Senin durumunda

sadece yap. görünümler nasıl çalıştığını

Sen belgelerinde bu parametre hakkında tüm bilgileri bulabilir ve:

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

+0

THX.It's clear.BTW, Couchbase Forums'ın spam bloğu Asya IP için çok katı. Zaten Çin'den HK'a üç IP değiştirdim, ancak yine de yeni bir gönderi gönderemiyorum.%> _ <% – user1815744

+0

IP adresiyle ilgili, ancak muhtemelen mesajınıza koyduğunuz bağlantıların sayısı nedeniyle. Bunu Couchbase Topluluk Yöneticisine yükseltirim –

İlgili konular