我現在用的塞列表功能(http://www.aerospike.com/docs/guide/cdt-list.html),並可以做一個選擇查詢,看看名單:塞式查詢語言獲取列表大小和數量
從ns.set選擇bin其中PK =「PK」
但有沒有一種方法可以得到列表中的元素數量? 另外fi還有一種方法可以查看當前記錄的大小(因爲對最大記錄大小有限制)
我現在用的塞列表功能(http://www.aerospike.com/docs/guide/cdt-list.html),並可以做一個選擇查詢,看看名單:塞式查詢語言獲取列表大小和數量
從ns.set選擇bin其中PK =「PK」
但有沒有一種方法可以得到列表中的元素數量? 另外fi還有一種方法可以查看當前記錄的大小(因爲對最大記錄大小有限制)
AQL是一種主要用於管理索引UDF的工具,運行ad-hoc UDF (維護,彙總等),並在較小程度上瀏覽您的數據。如果你要使用全套列表或地圖操作的,你應該使用一種語言的客戶端,如Java,Python,Go等
列表API包括列表的大小()。例如,在Python客戶端中,您有aerospike.Client.list_size
。由於列表在服務器端以msgpack序列化格式存儲,因此假設您的數據位於SSD上(如果內存中沒有持久性存在,您將很難判斷msgpacked list是否大於max-write-block
沒有相同的記錄大小限制)。
您可以估計尺寸,但要遵循EAFP原則,編寫記錄會更簡單,而不必事先考慮尺寸,並捕獲「記錄太大」的例外(例如,aerospike.exception.RecordTooBig
)。然後,您可以決定如何溢出到單獨的記錄中(key
,key-2
.. key-N
)。