mirror of
https://github.com/fawney19/Aether.git
synced 2026-01-11 12:08:30 +08:00
perf: 添加多层缓存优化减少数据库查询
- 新增 ProviderCacheService 缓存 Provider 和 ProviderAPIKey 数据 - SystemConfigService 添加进程内缓存(TTL 60秒) - API Key last_used_at 更新添加节流策略(60秒间隔) - HTTP 连接池配置改为可配置,支持根据 Worker 数量自动计算 - 前端优先级管理改用 health_score 显示健康度
This commit is contained in:
@@ -10,7 +10,6 @@ from typing import Any, Dict, List, Optional, Tuple
|
||||
from sqlalchemy import func
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from src.core.enums import ProviderBillingType
|
||||
from src.core.logger import logger
|
||||
from src.models.database import ApiKey, Provider, ProviderAPIKey, Usage, User, UserRole
|
||||
from src.services.model.cost import ModelCostService
|
||||
@@ -362,22 +361,12 @@ class UsageService:
|
||||
provider_api_key_id: Optional[str],
|
||||
provider_id: Optional[str],
|
||||
) -> Tuple[float, bool]:
|
||||
"""获取费率倍数和是否免费套餐"""
|
||||
actual_rate_multiplier = 1.0
|
||||
if provider_api_key_id:
|
||||
provider_key = (
|
||||
db.query(ProviderAPIKey).filter(ProviderAPIKey.id == provider_api_key_id).first()
|
||||
)
|
||||
if provider_key and provider_key.rate_multiplier:
|
||||
actual_rate_multiplier = provider_key.rate_multiplier
|
||||
"""获取费率倍数和是否免费套餐(使用缓存)"""
|
||||
from src.services.cache.provider_cache import ProviderCacheService
|
||||
|
||||
is_free_tier = False
|
||||
if provider_id:
|
||||
provider_obj = db.query(Provider).filter(Provider.id == provider_id).first()
|
||||
if provider_obj and provider_obj.billing_type == ProviderBillingType.FREE_TIER:
|
||||
is_free_tier = True
|
||||
|
||||
return actual_rate_multiplier, is_free_tier
|
||||
return await ProviderCacheService.get_rate_multiplier_and_free_tier(
|
||||
db, provider_api_key_id, provider_id
|
||||
)
|
||||
|
||||
@classmethod
|
||||
async def _calculate_costs(
|
||||
|
||||
Reference in New Issue
Block a user