gpt4 book ai didi

python - 有关获取 aerospike 集中记录总数的说明?是否需要 Lua 脚本?

转载 作者:太空宇宙 更新时间:2023-11-03 15:42:54 24 4
gpt4 key购买 nike

我想通过 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'

最佳答案

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

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

$ 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')}

关于python - 有关获取 aerospike 集中记录总数的说明?是否需要 Lua 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51574350/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com