使用erlang riak客户端从Riak获取所有对象

时间:2016-11-18 12:10:08

标签: erlang riak

假设我有“用户”存储桶。 我希望得到它的所有用户或至少10个。

据我了解riakc_pb_socket:get / 3

第一个参数是PID,第二个参数是桶,第三个参数是键。

获取所有对象的一种方法是获取所有键,然后循环遍历它们,但据我所知,它是低效的方式。

还有其他办法吗?

1 个答案:

答案 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个用户对象。一般来说,与上述任何一种方法相比,这肯定会更快。