关于获取 aerospike 集合中记录总数的澄清?是否需要使用 Lua 脚本?

我想通过 Python 获取 aerospike 集合中的记录总数。 我猜,它是在 show sets 输出中针对集合显示的 n_objects 值-

aql> show sets
+-----------+------------------+----------------+-------------------+----------------+---------------------+--------------------------------------------+------------+
| n_objects | disable-eviction | set-enable-xdr | stop-writes-count | n-bytes-memory | ns_name             | set_name                                   | set-delete |
+
| 179       | "true"           | "use-default"  | 0                 | 0              | "namespace"         | "setName"                        | "false"    |

从我从中读到的内容,似乎只能通过 lua 脚本实现 - https://discuss.aerospike.com/t/fastest-way-to-count-records-returned-by-a-query/2379/4

有人可以证实吗? 但是,我通过迭代 select() 的结果并使用计数器变量找到了计数,并将其匹配到上面的计数 -

client = aerospike.client(config).connect()

scan = client.scan('namespace', 'set')

scan.select('PK','expiresIn','clientId','scopes','roles')
scan.foreach(process_result)
print "Total aeroCount"
print aeroCount

def process_result((key, metadata, record)):
    global aeroCount
    aeroCount=aeroCount+1

更新

我尝试首先在命令行上运行 asinfo -v sets 命令。它给了我对象计数,就像这样 -

ns=namespace:set=setName:objects=29949:

不确定如何从中获取一个集合的对象计数。这个命令是否符合 Python 函数的命令?我尝试了这个 -

client = aerospike.client(config).connect()
response = client.info_all("asinfo -v sets")

这是我得到的错误 -

  File "Sandeepan-oauth_token_cache_complete_sanity_cp.py", line 89, in <module>
    response = client.info_all("asinfo -v sets")
AttributeError: 'aerospike.Client' object has no attribute 'info_all'
点赞
用户1917187
用户1917187

查看 https://www.aerospike.com/apidocs/python/client.html?highlight=info#aerospike.Client.info_all - python客户端中的info_all(),并从此处的info命令参考中传递正确的info命令:https://www.aerospike.com/docs/reference/info

sets info命令提供给您即时统计信息,例如在指定集合中的对象数量。

$ python
>>> import aerospike
>>> aerospike.__version__
'2.1.2'
>>> config = {'hosts':[("127.0.0.1", 3000)]}
>>> client = aerospike.client(config).connect()
>>> client.info("sets")
{'BB9BE1CFE290C00': (None, 'ns=test:set=testMap:objects=1:tombstones=0:memory_data_bytes=0:truncate_lut=0:stop-writes-count=0:set-enable-xdr=use-default:disable-eviction=false;\n')}
2018-07-29 16:06:40