32 lines
914 B
Python
32 lines
914 B
Python
"""Cache Manager for Redis"""
|
|
import json
|
|
import logging
|
|
from typing import Optional, Any
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
class CacheManager:
|
|
"""Redis cache manager"""
|
|
|
|
def __init__(self, redis_url: str):
|
|
self.redis_url = redis_url
|
|
self.is_connected = False
|
|
self.cache = {} # Simplified in-memory cache
|
|
|
|
async def connect(self):
|
|
"""Connect to Redis"""
|
|
self.is_connected = True
|
|
logger.info("Connected to cache")
|
|
|
|
async def close(self):
|
|
"""Close Redis connection"""
|
|
self.is_connected = False
|
|
logger.info("Disconnected from cache")
|
|
|
|
async def get(self, key: str) -> Optional[str]:
|
|
"""Get value from cache"""
|
|
return self.cache.get(key)
|
|
|
|
async def set(self, key: str, value: str, expire: Optional[int] = None):
|
|
"""Set value in cache"""
|
|
self.cache[key] = value |