perf: 优化缓存监控及缓存列表模块service层及异常处理
This commit is contained in:
@@ -12,83 +12,59 @@ cacheController = APIRouter(prefix='/monitor/cache', dependencies=[Depends(Login
|
||||
|
||||
@cacheController.get("", response_model=CacheMonitorModel, dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
||||
async def get_monitor_cache_info(request: Request):
|
||||
try:
|
||||
# 获取全量数据
|
||||
cache_info_query_result = await CacheService.get_cache_monitor_statistical_info_services(request)
|
||||
logger.info('获取成功')
|
||||
return ResponseUtil.success(data=cache_info_query_result)
|
||||
except Exception as e:
|
||||
logger.exception(e)
|
||||
return ResponseUtil.error(msg=str(e))
|
||||
# 获取全量数据
|
||||
cache_info_query_result = await CacheService.get_cache_monitor_statistical_info_services(request)
|
||||
logger.info('获取成功')
|
||||
|
||||
return ResponseUtil.success(data=cache_info_query_result)
|
||||
|
||||
|
||||
@cacheController.get("/getNames", response_model=List[CacheInfoModel], dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
||||
async def get_monitor_cache_name(request: Request):
|
||||
try:
|
||||
# 获取全量数据
|
||||
cache_name_list_result = await CacheService.get_cache_monitor_cache_name_services()
|
||||
logger.info('获取成功')
|
||||
return ResponseUtil.success(data=cache_name_list_result)
|
||||
except Exception as e:
|
||||
logger.exception(e)
|
||||
return ResponseUtil.error(msg=str(e))
|
||||
# 获取全量数据
|
||||
cache_name_list_result = await CacheService.get_cache_monitor_cache_name_services()
|
||||
logger.info('获取成功')
|
||||
|
||||
return ResponseUtil.success(data=cache_name_list_result)
|
||||
|
||||
|
||||
@cacheController.get("/getKeys/{cache_name}", response_model=List[str], dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
||||
async def get_monitor_cache_key(request: Request, cache_name: str):
|
||||
try:
|
||||
# 获取全量数据
|
||||
cache_key_list_result = await CacheService.get_cache_monitor_cache_key_services(request, cache_name)
|
||||
logger.info('获取成功')
|
||||
return ResponseUtil.success(data=cache_key_list_result)
|
||||
except Exception as e:
|
||||
logger.exception(e)
|
||||
return ResponseUtil.error(msg=str(e))
|
||||
# 获取全量数据
|
||||
cache_key_list_result = await CacheService.get_cache_monitor_cache_key_services(request, cache_name)
|
||||
logger.info('获取成功')
|
||||
|
||||
return ResponseUtil.success(data=cache_key_list_result)
|
||||
|
||||
|
||||
@cacheController.get("/getValue/{cache_name}/{cache_key}", response_model=CacheInfoModel, dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
||||
async def get_monitor_cache_value(request: Request, cache_name: str, cache_key: str):
|
||||
try:
|
||||
# 获取全量数据
|
||||
cache_value_list_result = await CacheService.get_cache_monitor_cache_value_services(request, cache_name, cache_key)
|
||||
logger.info('获取成功')
|
||||
return ResponseUtil.success(data=cache_value_list_result)
|
||||
except Exception as e:
|
||||
logger.exception(e)
|
||||
return ResponseUtil.error(msg=str(e))
|
||||
# 获取全量数据
|
||||
cache_value_list_result = await CacheService.get_cache_monitor_cache_value_services(request, cache_name, cache_key)
|
||||
logger.info('获取成功')
|
||||
|
||||
return ResponseUtil.success(data=cache_value_list_result)
|
||||
|
||||
|
||||
@cacheController.delete("/clearCacheName/{cache_name}", dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
||||
async def clear_monitor_cache_name(request: Request, cache_name: str):
|
||||
try:
|
||||
clear_cache_name_result = await CacheService.clear_cache_monitor_cache_name_services(request, cache_name)
|
||||
if clear_cache_name_result.is_success:
|
||||
logger.info(clear_cache_name_result.message)
|
||||
return ResponseUtil.success(msg=clear_cache_name_result.message)
|
||||
except Exception as e:
|
||||
logger.exception(e)
|
||||
return ResponseUtil.error(msg=str(e))
|
||||
clear_cache_name_result = await CacheService.clear_cache_monitor_cache_name_services(request, cache_name)
|
||||
logger.info(clear_cache_name_result.message)
|
||||
|
||||
return ResponseUtil.success(msg=clear_cache_name_result.message)
|
||||
|
||||
|
||||
@cacheController.delete("/clearCacheKey/{cache_key}", dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
||||
async def clear_monitor_cache_key(request: Request, cache_key: str):
|
||||
try:
|
||||
clear_cache_key_result = await CacheService.clear_cache_monitor_cache_key_services(request, cache_key)
|
||||
if clear_cache_key_result.is_success:
|
||||
logger.info(clear_cache_key_result.message)
|
||||
return ResponseUtil.success(msg=clear_cache_key_result.message)
|
||||
except Exception as e:
|
||||
logger.exception(e)
|
||||
return ResponseUtil.error(msg=str(e))
|
||||
clear_cache_key_result = await CacheService.clear_cache_monitor_cache_key_services(request, cache_key)
|
||||
logger.info(clear_cache_key_result.message)
|
||||
|
||||
return ResponseUtil.success(msg=clear_cache_key_result.message)
|
||||
|
||||
|
||||
@cacheController.delete("/clearCacheAll", dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
||||
async def clear_monitor_cache_all(request: Request):
|
||||
try:
|
||||
clear_cache_all_result = await CacheService.clear_cache_monitor_all_services(request)
|
||||
if clear_cache_all_result.is_success:
|
||||
logger.info(clear_cache_all_result.message)
|
||||
return ResponseUtil.success(msg=clear_cache_all_result.message)
|
||||
except Exception as e:
|
||||
logger.exception(e)
|
||||
return ResponseUtil.error(msg=str(e))
|
||||
clear_cache_all_result = await CacheService.clear_cache_monitor_all_services(request)
|
||||
logger.info(clear_cache_all_result.message)
|
||||
|
||||
return ResponseUtil.success(msg=clear_cache_all_result.message)
|
||||
|
@@ -87,9 +87,8 @@ class CacheService:
|
||||
cache_keys = await request.app.state.redis.keys(f"{cache_name}*")
|
||||
if cache_keys:
|
||||
await request.app.state.redis.delete(*cache_keys)
|
||||
result = dict(is_success=True, message=f"{cache_name}对应键值清除成功")
|
||||
|
||||
return CrudResponseModel(**result)
|
||||
return CrudResponseModel(is_success=True, message=f"{cache_name}对应键值清除成功")
|
||||
|
||||
@classmethod
|
||||
async def clear_cache_monitor_cache_key_services(cls, request: Request, cache_key: str):
|
||||
@@ -102,9 +101,8 @@ class CacheService:
|
||||
cache_keys = await request.app.state.redis.keys(f"*{cache_key}")
|
||||
if cache_keys:
|
||||
await request.app.state.redis.delete(*cache_keys)
|
||||
result = dict(is_success=True, message=f"{cache_key}清除成功")
|
||||
|
||||
return CrudResponseModel(**result)
|
||||
return CrudResponseModel(is_success=True, message=f"{cache_key}清除成功")
|
||||
|
||||
@classmethod
|
||||
async def clear_cache_monitor_all_services(cls, request: Request):
|
||||
@@ -117,8 +115,7 @@ class CacheService:
|
||||
if cache_keys:
|
||||
await request.app.state.redis.delete(*cache_keys)
|
||||
|
||||
result = dict(is_success=True, message="所有缓存清除成功")
|
||||
await RedisUtil.init_sys_dict(request.app.state.redis)
|
||||
await RedisUtil.init_sys_config(request.app.state.redis)
|
||||
|
||||
return CrudResponseModel(**result)
|
||||
return CrudResponseModel(is_success=True, message="所有缓存清除成功")
|
||||
|
Reference in New Issue
Block a user