Python redis 模块,BlockingConnectionPool() 实例源码

我们从Python开源项目中,提取了以下4个代码示例,用于说明如何使用redis.BlockingConnectionPool()

项目:kinto-redis    作者:Kinto    | 项目源码 | 文件源码
def create_from_config(config, prefix=''):
    """Redis client instantiation from settings.
    """
    settings = config.get_settings()
    uri = settings[prefix + 'url']
    uri = urlparse.urlparse(uri)
    pool_size = int(settings[prefix + 'pool_size'])
    kwargs = {
        "max_connections": pool_size,
        "host": uri.hostname or 'localhost',
        "port": uri.port or 6379,
        "password": uri.password or None,
        "db": int(uri.path[1:]) if uri.path else 0
    }
    block_timeout = settings.get(prefix + 'pool_timeout')
    if block_timeout is not None:
        kwargs["timeout"] = float(block_timeout)

    connection_pool = redis.BlockingConnectionPool(**kwargs)
    return redis.StrictRedis(connection_pool=connection_pool)
项目:pycon2016    作者:nhudinhtuan    | 项目源码 | 文件源码
def __init__(self, config):
        BaseCache.__init__(self, config)
        self.key_prefix = config.get('key_prefix', '')
        try:
            import redis
        except ImportError:
            raise RuntimeError('no redis module found')
        kwargs = dict((k, v) for k, v in config.items() if k not in _redis_kwargs_exclusions)
        if 'socket_timeout' not in kwargs:
            kwargs['socket_timeout'] = _DEFAULT_SOCKET_TIMEOUT
        if 'socket_connect_timeout' not in kwargs:
            kwargs['socket_connect_timeout'] = _DEFAULT_SOCKET_TIMEOUT
        if 'socket_keepalive' not in kwargs:
            kwargs['socket_keepalive'] = 1
        if 'socket_keepalive_options' not in kwargs:
            kwargs['socket_keepalive_options'] = _TCP_KEEP_ALIVE_OPTIONS
        if kwargs.pop('blocking_pool', False):
            if 'blocking_pool_timeout' in kwargs:
                kwargs['timeout'] = kwargs.pop('blocking_pool_timeout')
            else:
                kwargs['timeout'] = _DEFAULT_REDIS_BLOCKING_POOL_TIMEOUT
            connection_pool = redis.BlockingConnectionPool(**kwargs)
        else:
            connection_pool = redis.ConnectionPool(**kwargs)

        self._client = redis.Redis(connection_pool=connection_pool)
项目:odooku    作者:odooku    | 项目源码 | 文件源码
def __init__(self, host, port, password=None, db_number=None,
            maxconn=None, maxconn_timeout=None):

        self._pool = redis.BlockingConnectionPool(
            host=host,
            port=port,
            password=password,
            db=db_number or 0,
            max_connections=maxconn or 50,
            timeout=maxconn_timeout or 20
        )

        self._client = redis.StrictRedis(
            connection_pool=self._pool
        )
项目:automatic-repo    作者:WZQ1397    | 项目源码 | 文件源码
def __init__(self, host, port, queue='queue'):
        self._conn = redis.Redis(connection_pool=redis.BlockingConnectionPool(max_connections=15, host=host, port=port))
        self.set_queue(queue)