fix redis client
This commit is contained in:
parent
fbb8a0e93d
commit
9618802c6b
|
@ -1,50 +1,49 @@
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
import aioredis
|
import aioredis
|
||||||
# from aioredis import ConnectionsPool
|
|
||||||
|
from settings import REDIS_URL
|
||||||
from settings import REDIS_URL
|
|
||||||
|
|
||||||
|
class Redis:
|
||||||
class Redis:
|
def __init__(self, uri=REDIS_URL):
|
||||||
def __init__(self, uri=REDIS_URL):
|
self._uri: str = uri
|
||||||
self._uri: str = uri
|
self._instance = None
|
||||||
self._instance = None
|
|
||||||
|
async def connect(self):
|
||||||
async def connect(self):
|
if self._instance is not None:
|
||||||
if self._instance is not None:
|
return
|
||||||
return
|
self._instance = aioredis.from_url(self._uri, encoding="utf-8")
|
||||||
self._instance = await aioredis.from_url(self._uri)# .create_pool(self._uri)
|
|
||||||
|
async def disconnect(self):
|
||||||
async def disconnect(self):
|
if self._instance is None:
|
||||||
if self._instance is None:
|
return
|
||||||
return
|
self._instance.close()
|
||||||
self._instance.close()
|
await self._instance.wait_closed()
|
||||||
await self._instance.wait_closed()
|
self._instance = None
|
||||||
self._instance = None
|
|
||||||
|
async def execute(self, command, *args, **kwargs):
|
||||||
async def execute(self, command, *args, **kwargs):
|
return await self._instance.execute_command(command, *args, **kwargs)
|
||||||
return await self._instance.execute(command, *args, **kwargs, encoding="UTF-8")
|
|
||||||
|
|
||||||
|
async def test():
|
||||||
async def test():
|
redis = Redis()
|
||||||
redis = Redis()
|
from datetime import datetime
|
||||||
from datetime import datetime
|
|
||||||
|
await redis.connect()
|
||||||
await redis.connect()
|
await redis.execute("SET", "1-KEY1", 1)
|
||||||
await redis.execute("SET", "1-KEY1", 1)
|
await redis.execute("SET", "1-KEY2", 1)
|
||||||
await redis.execute("SET", "1-KEY2", 1)
|
await redis.execute("SET", "1-KEY3", 1)
|
||||||
await redis.execute("SET", "1-KEY3", 1)
|
await redis.execute("SET", "1-KEY4", 1)
|
||||||
await redis.execute("SET", "1-KEY4", 1)
|
await redis.execute("EXPIREAT", "1-KEY4", int(datetime.utcnow().timestamp()))
|
||||||
await redis.execute("EXPIREAT", "1-KEY4", int(datetime.utcnow().timestamp()))
|
v = await redis.execute("KEYS", "1-*")
|
||||||
v = await redis.execute("KEYS", "1-*")
|
print(v)
|
||||||
print(v)
|
await redis.execute("DEL", *v)
|
||||||
await redis.execute("DEL", *v)
|
v = await redis.execute("KEYS", "1-*")
|
||||||
v = await redis.execute("KEYS", "1-*")
|
print(v)
|
||||||
print(v)
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
if __name__ == '__main__':
|
import asyncio
|
||||||
import asyncio
|
|
||||||
|
asyncio.run(test())
|
||||||
asyncio.run(test())
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user