Answer the question
In order to leave comments, you need to log in
Async code execution error when connecting to redis?
There is a class with basic functionality for making requests to radishes (via aioredis)
class RedisService:
def __init__(self, r_url) -> str:
self.redis = r_url
async def create_connection(self):
return await aioredis.create_redis(self.redis)
async def _get(self, key) -> str:
try:
return await self.create_connection().get(key, encoding='utf-8')
finally:
await self._close()
async def _set(self, key, value) -> None:
await self.create_connection().set(key, value)
await self._close()
async def _close(self) -> None:
self.create_connection.close()
await self._redis.wait_closed()
@router.post('/perform')
async def index():
key = 'test'
value = 'test'
value = await RedisService(r_url)._set(key, value)
return {'result': value}
await self.create_connection.set(key, value)
AttributeError: 'coroutine' object has no attribute 'set'
import asyncio
import aioredis
async def main():
# Redis client bound to single connection (no auto reconnection).
redis = await aioredis.create_redis(
'redis://localhost')
await redis.set('my-key', 'value')
val = await redis.get('my-key')
print(val)
# gracefully closing underlying connection
redis.close()
await redis.wait_closed()
await redis.wait_closed()
if __name__ == '__main__':
asyncio.run(main())
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question