Browse Source

perf: 优化缓存监控及缓存列表模块service层及异常处理

master
insistence 7 months ago
parent
commit
51bed591d4
  1. 88
      ruoyi-fastapi-backend/module_admin/controller/cache_controller.py
  2. 9
      ruoyi-fastapi-backend/module_admin/service/cache_service.py

88
ruoyi-fastapi-backend/module_admin/controller/cache_controller.py

@ -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)

9
ruoyi-fastapi-backend/module_admin/service/cache_service.py

@ -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="所有缓存清除成功")

Loading…
Cancel
Save