| """Redis connection for caching.""" | |
| import redis.asyncio as redis | |
| from src.config.settings import settings | |
| # ssl_cert_reqs is only valid for SSL (rediss://) connections; passing it to a | |
| # plain redis:// connection raises TypeError in the connection class. | |
| _ssl_kwargs = {"ssl_cert_reqs": None} if settings.redis_url.startswith("rediss://") else {} | |
| redis_client = redis.from_url( | |
| settings.redis_url, | |
| encoding="utf-8", | |
| decode_responses=True, | |
| **_ssl_kwargs, | |
| ) | |
| async def get_redis(): | |
| """Get Redis client.""" | |
| return redis_client | |