Merge "Adding technical details about the memcache pool backend."

This commit is contained in:
Zuul 2021-04-16 12:57:16 +00:00 committed by Gerrit Code Review
commit bce13254d1
1 changed files with 15 additions and 1 deletions

View File

@ -36,7 +36,21 @@ class ClientProxy(object):
class PooledMemcachedBackend(memcached_backend.MemcachedBackend):
"""Memcached backend that does connection pooling."""
"""Memcached backend that does connection pooling.
This memcached backend only allows for reuse of a client object,
prevents too many client object from being instantiated, and maintains
proper tracking of dead servers so as to limit delays when a server
(or all servers) become unavailable.
This backend doesn't allow to load balance things between servers.
Memcached isn't HA. Values aren't automatically replicated between servers
unless the client went out and wrote the value multiple time.
The memcache server to use is determined by `python-memcached` itself by
picking the host to use (from the given server list) based on a key hash.
"""
# Composed from GenericMemcachedBackend's and MemcacheArgs's __init__
def __init__(self, arguments):