summaryrefslogtreecommitdiffstats
path: root/ttun_server/redis.py
blob: 3065decaf023c02bc66ead4b2a4ad1fb55d62700 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import os

from aioredis import ConnectionPool, Redis


class RedisConnectionPool:
    instance: 'RedisConnectionPool' = None

    def __init__(self):
       self.pool = ConnectionPool.from_url(os.environ.get('REDIS_URL'))

    def __del__(self):
        self.pool.disconnect()

    @classmethod
    def get_connection(cls) -> Redis:
        if cls.instance is None:
            cls.instance = RedisConnectionPool()

        return Redis(connection_pool=cls.instance.pool)