Connection(host='127.0.0.1', port=8888, socket_timeout=None, socket_connect_timeout=None, socket_keepalive=False, socket_keepalive_options=None, retry_on_timeout=False, encoding='utf-8', encoding_errors='strict', decode_responses=False, parser_class=<class 'ssdb.connection.PythonParser'>, socket_read_size=65536)¶
Manages TCP communication to and from a SSDB server
>>> from ssdb.connection import Connection >>> conn = Connection(host='localhost', port=8888)
ConnectionPool(connection_class=<class 'ssdb.connection.Connection'>, max_connections=None, **connection_kwargs)¶
Generic connection pool.
>>> from ssdb.client import SSDB >>> client = SSDB(connection_pool=ConnectionPool())
If max_connections is set, then this objectraises ssdb.ConnectionError when the pool’s limit is reached. By default, TCP connections are created connection_class is specified. Any additionan keyword arguments are passed to the constructor of connection_class.
BlockingConnectionPool(max_connections=50, timeout=20, connection_class=<class 'ssdb.connection.Connection'>, queue_class=<class Queue.LifoQueue>, **connection_kwargs)¶
Thread-safe blocking connection pool:
>>> from ssdb.client import SSDB >>> client = SSDB(connection_pool=BlockingConnectionPool())
It performs the same function as default
:py:class: ~ssdb.connection.ConnectionPoolimplementation, in that, it maintains a pool of reusable connections that can be shared by multiple ssdb clients (safely across threads if required).
The difference is that, in the event that a client tries to get a connection from the pool when all of connections are in use, rather than raising a
:py:class: ~ssdb.exceptions.ConnectionError(as the default
:py:class: ~ssdb.connection.ConnectionPoolimplementation does), it makes the client wait (“blocks”) for a specified number of seconds until a connection becomes available/].
max_connectionsto increase / decrease the pool size:
>>> pool = BlockingConnectionPool(max_connections=10)
timeoutto tell it either how many seconds to wait for a connection to become available, or to block forever:
>>> #Block forever. >>> pool = BlockingConnectionPool(timeout=None)
>>> #Raise a ``ConnectionError`` after five seconds if a connection is not >>> #available >>> pool = BlockingConnectionPool(timeout=5)