我正在评估一个应用程序的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