我正在評估一個應用程序的CouchBase,並試圖找出有關視圖範圍查詢的內容。我知道我可以爲單個鍵,多個鍵或範圍做一個視圖。我可以做多個範圍嗎?即我想用查看鍵0-10,50-100,5238-81902檢索項目。我可能同時需要100個不同的範圍,所以不得不向數據庫發出100個請求似乎是一個很大的開銷。CouchBase視圖獲取多個範圍
3
A
回答
2
據我所知在couchbase中沒有辦法實現從一個視圖的多個範圍獲取值。可能在Couchbase N1QL中存在(或將來會實現)一些功能,但我沒有使用它。
回答你的問題100個請求不會是一個很大的開銷。 Couchbase的安靜速度很快,它的設計能夠處理每秒很多操作。此外,如果您的視圖設計正確,則不會在每個查詢中「重新計算」。
此外還有另一種方式: 1.確定範圍的最小值和最大值 2.查詢視圖,將只返回文檔ID和一個值,該值的範圍(它會根據你的例子是0..81902)基於,沒有包括所有文檔的結果。 3.根據您的範圍(0-10,50-100,5238-81902) ,在上一步的結果的客戶端過濾器陣列上,然後使用getMulti和留在數組中的文檔ID。
我不知道你的數據結構,所以你可以嘗試兩種方式,測試它們,並選擇最適合你的需求。
相關問題
- 1. 獲取UIViewController視圖的正確範圍
- 2. Couchbase範圍查詢
- 3. CouchBase範圍搜索
- 4. 多個命名視圖+銷燬$範圍
- 5. 由圖案獲取第n個範圍
- 6. couchbase查詢日期範圍
- 7. VB.NET:PictureBox視圖範圍?
- 8. 獲取數據透視表的範圍
- 9. 如何在Revit的繪圖視圖中獲取範圍
- 10. Angular JS控制器範圍,多視圖
- 11. 範圍爲單個控制器,多個視圖
- 12. 如何從視圖中獲取路由範圍?
- 13. 無法在Laravel Blade視圖中獲取角度範圍數據
- 14. 如何獲取所有視圖範圍對象?
- 15. 如何使用angularjs在視圖中重新獲取範圍值
- 16. 似乎無法通過匿名視圖獲取ember.js範圍
- 17. 獲取當前地圖範圍
- 18. 如何獲取地圖範圍?
- 19. Excel VBA - 獲取圖表數據範圍
- 20. 多個範圍軌
- 21. 與多個範圍
- 22. VLOOKUP多個範圍
- 23. MVC視圖模型範圍
- 24. 範圍更改視圖
- 25. SQL視圖 - 日期範圍
- 26. 通過在主日期範圍內使用多個日期範圍來獲取時間範圍
- 27. 帶複合鍵的Couchbase視圖:如何設置正確的startkey/endkey範圍?
- 28. 獲取上個月日期範圍
- 29. std :: multimap獲取兩個範圍
- 30. AngularJS:多個視圖與路由而不丟失範圍
好的答案,如果你真的很擔心打Couchbase很多(這不是問題),你總是可以將範圍結果緩存到他們自己的密鑰/文檔中。 – scalabilitysolved
我不太關心Couchbase的實際點擊率,更關心如此多請求的開銷。 (即內存,線程等)我從C#做這個,Couchbase SDK不是異步的,所以我會綁定線程。 –
我不會太擔心,我們在生產中使用Java運行一個couchbase堆棧(稍有不同),並且我們已經沒有SDK的內存/線程問題,再加上我們推動它非常困難。你可以在這裏閱讀http://scalabilitysolved.com/build-a-kick-ass-couchbase-stack-for-under-1000/ – scalabilitysolved