2017-10-11 29 views
3

수 : ns.set에서Aerospike 쿼리 언어 목록의 크기를 얻을 내가 목록보기 위해 aerospike 목록 기능 (<a href="http://www.aerospike.com/docs/guide/cdt-list.html" rel="nofollow noreferrer">http://www.aerospike.com/docs/guide/cdt-list.html</a>)를 이용하고 선택 쿼리를 수행 할 수

선택 빈 곳 PK는 = 'PK'

그러나 목록에있는 요소의 수를 얻을 수있는 방법이 있습니까? 또한 (최대 레코드 크기에 한계가 있기 때문에) 레코드의 현재 크기를 볼 수있는 방법이 있습니다.

답변

3

AQL은 주로 색인, UDF 및 Ad-hoc UDF를 관리하는 데 사용되는 도구입니다 (유지 보수, 롤업 등) 및 데이터 검색을위한 정도는 적습니다. 당신이 목록이나지도 작업의 전체 세트를 사용하려면 목록 API 목록의 크기를() 포함 등 Java, Python, Go,

같은 언어 클라이언트를 사용해야합니다. 예를 들어 파이썬 클라이언트에서는 aerospike.Client.list_size입니다. 이 목록은 서버 측에서 msgpack 직렬 형식으로 저장되므로 보다 큰지 알기가 어려울 것입니다. 데이터가 SSD에 있다고 가정합니다 (지속성없이 메모리에있는 경우 동일한 레코드 크기 제한이 없음).

크기는 예측할 수 있지만 EAFP 원칙을 따르면 사전에 크기에 대한 걱정없이 레코드를 작성하고 error code 13 '레코드가 너무 큼'에 대한 예외를 catch하는 것이 더 간단합니다 (예 : aerospike.exception.RecordTooBig). 그런 다음 별도의 레코드로 오버플로하는 방법을 결정할 수 있습니다 (key, key-2 .. key-N).