Example #1
0
    def __init__(self,
                 socket,
                 host,
                 port,
                 db,
                 max_idle_time=30,
                 idle_check_interval=0.1,
                 max_connections=50):
        self.socket = socket
        self.host = host
        self.port = port
        self.db = db
        self.max_idle_time = max_idle_time
        self.idle_check_interval = idle_check_interval
        self.max_connections = max_connections
        self.pool = None
        if self.socket != "" and (self.socket).lower() != "none":
            self.connection = 'socket'

            self.pool = aredis.ConnectionPool(
                connection_class=UnixDomainSocketConnection,
                path=self.socket,
                db=self.db)
        else:
            self.connection = 'tcp'
            self.pool = aredis.ConnectionPool(
                host=self.host,
                port=self.port,
                db=self.db,
                max_connections=self.max_connections)
        self.redis = aredis.StrictRedis(connection_pool=self.pool)
        self.connected = False
Example #2
0
 def _get_cache(self):
     pwd, host = self.CONFIG['broker_uri'].split('@')
     if pwd:
         cache_pool = aredis.ConnectionPool(host=host,
                                            password=pwd,
                                            decode_responses=True)
     else:
         cache_pool = aredis.ConnectionPool(host=host,
                                            decode_responses=True)
     cache = aredis.StrictRedis(connection_pool=cache_pool)
     # cache = redis.Redis(connection_pool=cache_pool)
     return cache
Example #3
0
 def get_pool(self, connection_kwargs=None, max_connections=None,
              connection_class=DummyConnection):
     connection_kwargs = connection_kwargs or {}
     pool = aredis.ConnectionPool(
         connection_class=connection_class,
         max_connections=max_connections,
         **connection_kwargs)
     return pool
Example #4
0
        async def open_connection(app_, loop):
            """

            Args:

            Returns:

            """
            # 返回值都做了解码,应用层不需要再decode
            self.pool = aredis.ConnectionPool(host=host, port=port, db=dbname, password=passwd, decode_responses=True,
                                              max_connections=pool_size)
            self.redis_db = aredis.StrictRedis(connection_pool=self.pool, decode_responses=True)
Example #5
0
    def init_engine(self,
                    *,
                    host: str = None,
                    port: int = None,
                    dbname: int = None,
                    passwd: str = "",
                    pool_size: int = None):
        """
        redis 非阻塞工具类
        Args:
            host:redis host
            port:redis port
            dbname: database name
            passwd: redis password
            pool_size: redis pool size
        Returns:

        """
        host = host or self.host
        port = port or self.port
        dbname = dbname or self.dbname
        passwd = passwd or self.passwd
        pool_size = pool_size or self.pool_size

        passwd = passwd if passwd is None else str(passwd)
        # 返回值都做了解码,应用层不需要再decode
        self.pool = aredis.ConnectionPool(host=host,
                                          port=port,
                                          db=dbname,
                                          password=passwd,
                                          decode_responses=True,
                                          max_connections=pool_size)
        self.redis_db = aredis.StrictRedis(connection_pool=self.pool,
                                           decode_responses=True)

        @atexit.register
        def close_connection():
            """
            释放redis连接池所有连接
            Args:

            Returns:

            """
            self.redis_db = None
            if self.pool:
                self.pool.disconnect()
Example #6
0
 def __init__(
     self,
     host: str = redis_host,
     port: int = redis_port,
     db: str = redis_db,
     max_idle_time: int = 30,
     idle_check_interval: float = 0.1,
 ):
     self.db = db
     self.max_idle_time: int = max_idle_time
     self.idle_check_interval: float = idle_check_interval
     self.host: str = host
     self.port: int = port
     self.verified: bool = False
     self.pool = aredis.ConnectionPool(host=self.host,
                                       port=self.port,
                                       db=self.db,
                                       max_connections=20)
     self.redis = aredis.StrictRedis(connection_pool=self.pool)
Example #7
0
import asyncio
import json
import time

import redis
import aredis

redis_pool = aredis.ConnectionPool(host='10.0.0.48', port=6379, db=1)


def aredis_cli():
    return aredis.StrictRedis(
        connection_pool=redis_pool,
        decode_responses=True,  # 自动解码
    )


class TaskModel():
    def __init__(self, *args, **kwargs):
        self.redis_client = aredis_cli()

    async def push(self, semaphore, site, type, value):
        async with semaphore:
            await self.redis_client.lpush('{}_{}'.format(site, type), value)


if __name__ == '__main__':

    file = 'key_dajie.list'
    site = 'dajie'
Example #8
0
import asyncio
import time

import redis
import aredis

redis_pool = aredis.ConnectionPool(
    host='192.168.170.132',
    port=6379,
    db=1
)


def aredis_cli():
    return aredis.StrictRedis(
        connection_pool=redis_pool,
        decode_responses=True,  # 自动解码
    )


TYPE1_NUM = 3


class TaskModel():
    def __init__(self, *args, **kwargs):
        self.redis_client = aredis_cli()
        self.maps = {
            1: 'type1_%s',
            2: 'type2',
            # 3: 'type1_to_type1',
        }
Example #9
0
import random
import functools
import logging
import pickle
from inspect import iscoroutinefunction

import redis
import aredis
from binascii import crc32
from tornado.ioloop import IOLoop
from tornado.options import options
from .exception import PermissionDenied

redis_pool = aredis.ConnectionPool(host=options.REDIS_HOST,
                                   port=options.REDIS_PORT,
                                   db=options.REDIS_DB)


def redis_cli():
    return redis.StrictRedis(
        connection_pool=redis_pool,
        decode_responses=True,  # 自动解码
    )


def aredis_cli():
    return aredis.StrictRedis(
        connection_pool=redis_pool,
        decode_responses=True,  # 自动解码
    )
Example #10
0
def start_redis_pool(host, port, db, max_idle_time=30, idle_check_interval=0.1, max_connections=10):
    pool = aredis.ConnectionPool(host=host, port=port, db=db, max_connections=max_connections)
    return aredis.StrictRedis(connection_pool=pool)
Example #11
0
import asyncio
import uvloop
import aredis
from aredis.connection import UnixDomainSocketConnection
from prettyprinter import pprint

pool = aredis.ConnectionPool(connection_class=UnixDomainSocketConnection,
                             path='/tmp/redis-cache.sock',
                             db=0)
redis = aredis.StrictRedis(connection_pool=pool)


async def speak_async():
    pprint(await redis.exists('news'))
    b = redis.cache('news')
    pprint(dir(b))


loop = asyncio.get_event_loop()
uvloop.install()
loop.run_until_complete(speak_async())
loop.close()
Example #12
0
 def init_redis(self, host, port, db):
     self.redis_client = aredis.StrictRedis(
         connection_pool=aredis.ConnectionPool(host=host, port=port, db=db),
         decode_responses=True,  # 自动解码
     )