2016-11-18 47 views
1

假設我有「用戶」存儲區。 我想獲得從所有它的用戶或至少10。使用erlang riak客戶端獲取Riak的所有對象

正如我理解riakc_pb_socket:獲得/ 3

第一個參數是PID,第二個是桶,第三 - 密鑰。

獲取所有對象的一種方法是獲取所有的鍵,然後遍歷它們,但據我所知,這是效率低下的方法。

還有別的辦法嗎?

回答

3

你應該閱讀了Riak搜索和文檔(可能)輔助索引:

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個用戶的ID作爲獨立對象存儲在Riak中。然後,獲得「前10名」,對象和並行 - 獲取10個用戶對象。一般來說,與上述任何一種方法相比,這肯定會更快。

相關問題