假设我有“用户”存储桶。 我希望得到它的所有用户或至少10个。
据我了解riakc_pb_socket:get / 3
第一个参数是PID,第二个参数是桶,第三个参数是键。
获取所有对象的一种方法是获取所有键,然后循环遍历它们,但据我所知,它是低效的方式。
还有其他办法吗?
答案 0 :(得分:3)
您应该阅读有关Riak Search和(可能)二级索引的文档:
https://docs.basho.com/riak/kv/2.1.4/developing/usage/search/
http://docs.basho.com/riak/kv/2.1.4/developing/usage/secondary-indexes/
如果您需要检索多个用户并且可以预先计算“前10名”列表,则可以将这10个用户的ID存储为Riak中的单独对象。然后,获得“前10名”,对象和并行 - 获取10个用户对象。一般来说,与上述任何一种方法相比,这肯定会更快。