添加缓存预热

This commit is contained in:
2026-05-26 01:38:43 +08:00
parent 6dd12aa293
commit c1ad2bdc19
9 changed files with 513 additions and 177 deletions
+6 -6
View File
@@ -1,12 +1,11 @@
import asyncio
from api.types.colg import HistoryGold, OfficialGold, RealTimeGold
from fastapi.params import Param
from api.core.Gzip import register_gzip_request
import json
from fastapi import APIRouter, Path, Query, Depends
from fastapi import APIRouter, Query
from api.core.Response import response
from api.core.Redis import get_redis_info,get_redis_info_async
from api.core.Redis import get_redis_info, get_redis_info_async
from api.dp import RedisDep
from typing import Annotated
import requests
@@ -47,7 +46,7 @@ def get_date_str(timestamp: int) -> str:
return beijing_time.strftime('%Y-%m-%d %H:%M:%S')
@router.get('/gold/realtime/', operation_id='realtimeGold',response_model=Response[list[RealTimeGold]])
@router.get('/gold/realtime/', operation_id='realtimeGold', response_model=Response[list[RealTimeGold]])
async def get_real_time_gold(redis: RedisDep) -> Response[list[RealTimeGold]]:
"""
返回所有跨区的实时金价信息
@@ -74,7 +73,7 @@ async def get_real_time_gold(redis: RedisDep) -> Response[list[RealTimeGold]]:
return response(data=data)
@router.get('/gold/history/', operation_id='historyGold',response_model=Response[HistoryGold] | Response[None])
@router.get('/gold/history/', operation_id='historyGold', response_model=Response[HistoryGold] | Response[None])
async def get_history_gold(region: Annotated[int, Query(..., description='跨区id')], timeRange: Annotated[int, Query(..., description='时间跨度天数')] = 7) -> Response[HistoryGold] | Response[None]:
"""
获取历史金价数据
@@ -146,7 +145,7 @@ async def get_history_gold(region: Annotated[int, Query(..., description='跨区
return response(data={'region': region_name, 'data': data, 'echartsData': echartsData})
@router.get('/gold/official/', operation_id='officialGold',response_model=Response[list[OfficialGold]])
@router.get('/gold/official/', operation_id='officialGold', response_model=Response[list[OfficialGold]])
async def get_official_gold(redis: RedisDep) -> Response[list[OfficialGold]]:
"""
获取DNF官方金币寄售实时数据
@@ -162,6 +161,7 @@ async def get_official_gold(redis: RedisDep) -> Response[list[OfficialGold]]:
key = 'openapi:colg:real_time_gold_officical'
list = ['1', '2', '3A', '3B', '4', '5', '6', '7']
try:
async def get_data():
datas = []
async with aiohttp.ClientSession() as session: