aioredis

import asyncio
import aioredis

from config.env_config import REDIS_URL


class RedisClient:
    def __init__(self, url, decode_responses=True, max_connections=30):
        self.url = url
        self.decode_responses = decode_responses
        self.max_connections = max_connections
        self.redis = None

    async def connect(self):
        self.redis = await aioredis.from_url(
            self.url,
            decode_responses=self.decode_responses,
            max_connections=self.max_connections
        )

    async def disconnect(self):
        if self.redis:
            await self.redis.close()
            self.redis = None

    async def set(self, key, value, ex=None):
        if not self.redis:
            await self.connect()
        await self.redis.set(key, value, ex=ex)

    async def get(self, key):
        if not self.redis:
            await self.connect()
        return await self.redis.get(key)


redis_client = RedisClient(
    url=REDIS_URL,
    decode_responses=True,
    max_connections=30
)


async def run():
    await redis_client.set("date", "2023-12-15", 3)
    day = await redis_client.get("date")
    print(day)


if __name__ == '__main__':
    asyncio.run(run())

 

posted @ 2023-12-25 19:48  一石数字欠我15w!!!  阅读(9)  评论(0编辑  收藏  举报