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'))])
|
@cacheController.get("", response_model=CacheMonitorModel, dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
||||||
async def get_monitor_cache_info(request: Request):
|
async def get_monitor_cache_info(request: Request):
|
||||||
try:
|
# 获取全量数据
|
||||||
# 获取全量数据
|
cache_info_query_result = await CacheService.get_cache_monitor_statistical_info_services(request)
|
||||||
cache_info_query_result = await CacheService.get_cache_monitor_statistical_info_services(request)
|
logger.info('获取成功')
|
||||||
logger.info('获取成功')
|
|
||||||
return ResponseUtil.success(data=cache_info_query_result)
|
return ResponseUtil.success(data=cache_info_query_result)
|
||||||
except Exception as e:
|
|
||||||
logger.exception(e)
|
|
||||||
return ResponseUtil.error(msg=str(e))
|
|
||||||
|
|
||||||
|
|
||||||
@cacheController.get("/getNames", response_model=List[CacheInfoModel], dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
@cacheController.get("/getNames", response_model=List[CacheInfoModel], dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
||||||
async def get_monitor_cache_name(request: Request):
|
async def get_monitor_cache_name(request: Request):
|
||||||
try:
|
# 获取全量数据
|
||||||
# 获取全量数据
|
cache_name_list_result = await CacheService.get_cache_monitor_cache_name_services()
|
||||||
cache_name_list_result = await CacheService.get_cache_monitor_cache_name_services()
|
logger.info('获取成功')
|
||||||
logger.info('获取成功')
|
|
||||||
return ResponseUtil.success(data=cache_name_list_result)
|
return ResponseUtil.success(data=cache_name_list_result)
|
||||||
except Exception as e:
|
|
||||||
logger.exception(e)
|
|
||||||
return ResponseUtil.error(msg=str(e))
|
|
||||||
|
|
||||||
|
|
||||||
@cacheController.get("/getKeys/{cache_name}", response_model=List[str], dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
@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):
|
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)
|
||||||
cache_key_list_result = await CacheService.get_cache_monitor_cache_key_services(request, cache_name)
|
logger.info('获取成功')
|
||||||
logger.info('获取成功')
|
|
||||||
return ResponseUtil.success(data=cache_key_list_result)
|
return ResponseUtil.success(data=cache_key_list_result)
|
||||||
except Exception as e:
|
|
||||||
logger.exception(e)
|
|
||||||
return ResponseUtil.error(msg=str(e))
|
|
||||||
|
|
||||||
|
|
||||||
@cacheController.get("/getValue/{cache_name}/{cache_key}", response_model=CacheInfoModel, dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
@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):
|
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)
|
||||||
cache_value_list_result = await CacheService.get_cache_monitor_cache_value_services(request, cache_name, cache_key)
|
logger.info('获取成功')
|
||||||
logger.info('获取成功')
|
|
||||||
return ResponseUtil.success(data=cache_value_list_result)
|
return ResponseUtil.success(data=cache_value_list_result)
|
||||||
except Exception as e:
|
|
||||||
logger.exception(e)
|
|
||||||
return ResponseUtil.error(msg=str(e))
|
|
||||||
|
|
||||||
|
|
||||||
@cacheController.delete("/clearCacheName/{cache_name}", dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
@cacheController.delete("/clearCacheName/{cache_name}", dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
||||||
async def clear_monitor_cache_name(request: Request, cache_name: str):
|
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)
|
||||||
clear_cache_name_result = await CacheService.clear_cache_monitor_cache_name_services(request, cache_name)
|
logger.info(clear_cache_name_result.message)
|
||||||
if clear_cache_name_result.is_success:
|
|
||||||
logger.info(clear_cache_name_result.message)
|
return ResponseUtil.success(msg=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))
|
|
||||||
|
|
||||||
|
|
||||||
@cacheController.delete("/clearCacheKey/{cache_key}", dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
@cacheController.delete("/clearCacheKey/{cache_key}", dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
||||||
async def clear_monitor_cache_key(request: Request, cache_key: str):
|
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)
|
||||||
clear_cache_key_result = await CacheService.clear_cache_monitor_cache_key_services(request, cache_key)
|
logger.info(clear_cache_key_result.message)
|
||||||
if clear_cache_key_result.is_success:
|
|
||||||
logger.info(clear_cache_key_result.message)
|
return ResponseUtil.success(msg=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))
|
|
||||||
|
|
||||||
|
|
||||||
@cacheController.delete("/clearCacheAll", dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
@cacheController.delete("/clearCacheAll", dependencies=[Depends(CheckUserInterfaceAuth('monitor:cache:list'))])
|
||||||
async def clear_monitor_cache_all(request: Request):
|
async def clear_monitor_cache_all(request: Request):
|
||||||
try:
|
clear_cache_all_result = await CacheService.clear_cache_monitor_all_services(request)
|
||||||
clear_cache_all_result = await CacheService.clear_cache_monitor_all_services(request)
|
logger.info(clear_cache_all_result.message)
|
||||||
if clear_cache_all_result.is_success:
|
|
||||||
logger.info(clear_cache_all_result.message)
|
return ResponseUtil.success(msg=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))
|
|
||||||
|
@@ -87,9 +87,8 @@ class CacheService:
|
|||||||
cache_keys = await request.app.state.redis.keys(f"{cache_name}*")
|
cache_keys = await request.app.state.redis.keys(f"{cache_name}*")
|
||||||
if cache_keys:
|
if cache_keys:
|
||||||
await request.app.state.redis.delete(*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
|
@classmethod
|
||||||
async def clear_cache_monitor_cache_key_services(cls, request: Request, cache_key: str):
|
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}")
|
cache_keys = await request.app.state.redis.keys(f"*{cache_key}")
|
||||||
if cache_keys:
|
if cache_keys:
|
||||||
await request.app.state.redis.delete(*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
|
@classmethod
|
||||||
async def clear_cache_monitor_all_services(cls, request: Request):
|
async def clear_cache_monitor_all_services(cls, request: Request):
|
||||||
@@ -117,8 +115,7 @@ class CacheService:
|
|||||||
if cache_keys:
|
if cache_keys:
|
||||||
await request.app.state.redis.delete(*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_dict(request.app.state.redis)
|
||||||
await RedisUtil.init_sys_config(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