有没有支持批量和并行获取多个服务器的Python memcached客户端?

2 投票
1 回答
1220 浏览
提问于 2025-04-16 19:05

我经常需要获取一长串 N 个键的值,比如:

[1267, 56578, ... , 9800]

这些值存储在 M 个不同的 Memcached 服务器上。

我不想一个一个地发送 get() 请求,等着回应,然后重复 N 次。

有没有什么 Python 的 Memcached 客户端,可以让我一次性调用一个多重获取(multiple_get),把所有 N 个键分配到各自的服务器上,然后对每个 M 个服务器发送一个批量请求,最后把所有服务器的结果收集起来,并且这一切都能并行进行?

如果有的话,我该怎么使用这个功能呢?

1 个回答

2

你可以使用 python-memcached: Python 或者 pylibmc - Python的memcached客户端,这两个库都有一个叫 get_mult() 的方法,可以用来一次性获取多个数据。这样的话,获取数据的操作就可以同时在每个服务器上进行,不用一个一个等着。

你也可以看看 用get_multi批量请求 的相关内容。

撰写回答