feat:重构UI
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import asyncio
|
||||
import hashlib
|
||||
import json
|
||||
import redis.asyncio as redis
|
||||
@@ -11,7 +12,11 @@ class CacheService:
|
||||
self.redis: redis.Redis | None = None
|
||||
|
||||
async def connect(self):
|
||||
self.redis = redis.from_url(settings.redis_url)
|
||||
try:
|
||||
self.redis = redis.from_url(settings.redis_url)
|
||||
await self.redis.ping()
|
||||
except Exception:
|
||||
self.redis = None
|
||||
|
||||
async def disconnect(self):
|
||||
if self.redis:
|
||||
@@ -38,7 +43,12 @@ class CacheService:
|
||||
async def get(self, key: str) -> dict | None:
|
||||
if not self.redis:
|
||||
return None
|
||||
data = await self.redis.get(key)
|
||||
try:
|
||||
data = await self.redis.get(key)
|
||||
except asyncio.CancelledError:
|
||||
return None
|
||||
except Exception:
|
||||
return None
|
||||
if data:
|
||||
return json.loads(data)
|
||||
return None
|
||||
@@ -47,7 +57,12 @@ class CacheService:
|
||||
if not self.redis:
|
||||
return
|
||||
ttl = ttl or settings.cache_ttl_seconds
|
||||
await self.redis.set(key, json.dumps(value), ex=ttl)
|
||||
try:
|
||||
await self.redis.set(key, json.dumps(value), ex=ttl)
|
||||
except asyncio.CancelledError:
|
||||
return
|
||||
except Exception:
|
||||
return
|
||||
|
||||
|
||||
cache_service = CacheService()
|
||||
|
||||
Reference in New Issue
Block a user