Любой клиент Python memcached, который пакетирует и распараллеливает множественный доступ к нескольким серверам? - PullRequest
2 голосов
/ 07 июня 2011

Очень часто мне нужно получить значения для длинного списка N ключей, таких как

[1267, 56578, ... , 9800]

Эти значения хранятся на M разных Memcached серверах.

Я не хочу отправлять get() запрос, дождаться ответа, а затем повторить N раз.

Существуют ли клиенты Python memcached, которые позволят мне вызывать один множественный_гетер для всего списка N ключей, разделить эти ключи на соответствующие серверы, а затем отправить один пакетный запрос на каждый из серверов M результаты со всех серверов, и делать все это параллельно?

Если так, как я могу использовать такую ​​функцию?

1 Ответ

2 голосов
/ 07 июня 2011

Используйте либо python-memcached: Python или pylibmc - Python-клиент для memcached , оба из которых имеют метод get_mult() для этой цели. Это заставит операции get выполняться асинхронно параллельно каждому серверу.

См. Также Пакетные запросы с get_multi .

...