Browse Source

style: 使用ruff格式化缓存监控及列表模块,优化导入

master
insistence 7 months ago
parent
commit
371fed69df
  1. 45
      ruoyi-fastapi-backend/module_admin/controller/cache_controller.py
  2. 4
      ruoyi-fastapi-backend/module_admin/entity/vo/cache_vo.py
  3. 37
      ruoyi-fastapi-backend/module_admin/service/cache_service.py

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

@ -1,16 +1,19 @@
from fastapi import APIRouter from fastapi import APIRouter, Depends, Request
from fastapi import Depends from typing import List
from module_admin.service.login_service import LoginService
from module_admin.service.cache_service import *
from module_admin.aspect.interface_auth import CheckUserInterfaceAuth from module_admin.aspect.interface_auth import CheckUserInterfaceAuth
from utils.response_util import * from module_admin.entity.vo.cache_vo import CacheInfoModel, CacheMonitorModel
from utils.log_util import * from module_admin.service.cache_service import CacheService
from module_admin.service.login_service import LoginService
from utils.log_util import logger
from utils.response_util import ResponseUtil
cacheController = APIRouter(prefix='/monitor/cache', dependencies=[Depends(LoginService.get_current_user)]) cacheController = APIRouter(prefix='/monitor/cache', dependencies=[Depends(LoginService.get_current_user)])
@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):
# 获取全量数据 # 获取全量数据
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)
@ -19,7 +22,11 @@ async def get_monitor_cache_info(request: Request):
return ResponseUtil.success(data=cache_info_query_result) return ResponseUtil.success(data=cache_info_query_result)
@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):
# 获取全量数据 # 获取全量数据
cache_name_list_result = await CacheService.get_cache_monitor_cache_name_services() cache_name_list_result = await CacheService.get_cache_monitor_cache_name_services()
@ -28,7 +35,11 @@ async def get_monitor_cache_name(request: Request):
return ResponseUtil.success(data=cache_name_list_result) return ResponseUtil.success(data=cache_name_list_result)
@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):
# 获取全量数据 # 获取全量数据
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)
@ -37,7 +48,11 @@ async def get_monitor_cache_key(request: Request, cache_name: str):
return ResponseUtil.success(data=cache_key_list_result) return ResponseUtil.success(data=cache_key_list_result)
@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):
# 获取全量数据 # 获取全量数据
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)
@ -46,7 +61,9 @@ async def get_monitor_cache_value(request: Request, cache_name: str, cache_key:
return ResponseUtil.success(data=cache_value_list_result) return ResponseUtil.success(data=cache_value_list_result)
@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):
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) logger.info(clear_cache_name_result.message)
@ -54,7 +71,9 @@ async def clear_monitor_cache_name(request: Request, cache_name: str):
return ResponseUtil.success(msg=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'))]) @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):
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) logger.info(clear_cache_key_result.message)
@ -62,7 +81,7 @@ async def clear_monitor_cache_key(request: Request, cache_key: str):
return ResponseUtil.success(msg=clear_cache_key_result.message) return ResponseUtil.success(msg=clear_cache_key_result.message)
@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):
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) logger.info(clear_cache_all_result.message)

4
ruoyi-fastapi-backend/module_admin/entity/vo/cache_vo.py

@ -1,12 +1,13 @@
from pydantic import BaseModel, ConfigDict, Field from pydantic import BaseModel, ConfigDict, Field
from pydantic.alias_generators import to_camel from pydantic.alias_generators import to_camel
from typing import Optional, List, Any from typing import Any, List, Optional
class CacheMonitorModel(BaseModel): class CacheMonitorModel(BaseModel):
""" """
缓存监控信息对应pydantic模型 缓存监控信息对应pydantic模型
""" """
model_config = ConfigDict(alias_generator=to_camel) model_config = ConfigDict(alias_generator=to_camel)
command_stats: Optional[List] = Field(default=[], description='命令统计') command_stats: Optional[List] = Field(default=[], description='命令统计')
@ -18,6 +19,7 @@ class CacheInfoModel(BaseModel):
""" """
缓存监控对象对应pydantic模型 缓存监控对象对应pydantic模型
""" """
model_config = ConfigDict(alias_generator=to_camel) model_config = ConfigDict(alias_generator=to_camel)
cache_key: Optional[str] = Field(default=None, description='缓存键名') cache_key: Optional[str] = Field(default=None, description='缓存键名')

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

@ -1,7 +1,7 @@
from fastapi import Request from fastapi import Request
from module_admin.entity.vo.cache_vo import *
from config.env import RedisInitKeyConfig from config.env import RedisInitKeyConfig
from config.get_redis import RedisUtil from config.get_redis import RedisUtil
from module_admin.entity.vo.cache_vo import CacheInfoModel, CacheMonitorModel
from module_admin.entity.vo.common_vo import CrudResponseModel from module_admin.entity.vo.common_vo import CrudResponseModel
@ -20,13 +20,10 @@ class CacheService:
info = await request.app.state.redis.info() info = await request.app.state.redis.info()
db_size = await request.app.state.redis.dbsize() db_size = await request.app.state.redis.dbsize()
command_stats_dict = await request.app.state.redis.info('commandstats') command_stats_dict = await request.app.state.redis.info('commandstats')
command_stats = [dict(name=key.split('_')[1], value=str(value.get('calls'))) for key, value in command_stats = [
command_stats_dict.items()] dict(name=key.split('_')[1], value=str(value.get('calls'))) for key, value in command_stats_dict.items()
result = CacheMonitorModel( ]
commandStats=command_stats, result = CacheMonitorModel(commandStats=command_stats, dbSize=db_size, info=info)
dbSize=db_size,
info=info
)
return result return result
@ -41,10 +38,10 @@ class CacheService:
if not attr_name.startswith('__') and isinstance(getattr(RedisInitKeyConfig, attr_name), dict): if not attr_name.startswith('__') and isinstance(getattr(RedisInitKeyConfig, attr_name), dict):
name_list.append( name_list.append(
CacheInfoModel( CacheInfoModel(
cacheKey="", cacheKey='',
cacheName=getattr(RedisInitKeyConfig, attr_name).get('key'), cacheName=getattr(RedisInitKeyConfig, attr_name).get('key'),
cacheValue="", cacheValue='',
remark=getattr(RedisInitKeyConfig, attr_name).get('remark') remark=getattr(RedisInitKeyConfig, attr_name).get('remark'),
) )
) )
@ -58,8 +55,8 @@ class CacheService:
:param cache_name: 缓存名称 :param cache_name: 缓存名称
:return: 缓存键名列表信息 :return: 缓存键名列表信息
""" """
cache_keys = await request.app.state.redis.keys(f"{cache_name}*") cache_keys = await request.app.state.redis.keys(f'{cache_name}*')
cache_key_list = [key.split(':', 1)[1] for key in cache_keys if key.startswith(f"{cache_name}:")] cache_key_list = [key.split(':', 1)[1] for key in cache_keys if key.startswith(f'{cache_name}:')]
return cache_key_list return cache_key_list
@ -72,9 +69,9 @@ class CacheService:
:param cache_key: 缓存键名 :param cache_key: 缓存键名
:return: 缓存内容信息 :return: 缓存内容信息
""" """
cache_value = await request.app.state.redis.get(f"{cache_name}:{cache_key}") cache_value = await request.app.state.redis.get(f'{cache_name}:{cache_key}')
return CacheInfoModel(cacheKey=cache_key, cacheName=cache_name, cacheValue=cache_value, remark="") return CacheInfoModel(cacheKey=cache_key, cacheName=cache_name, cacheValue=cache_value, remark='')
@classmethod @classmethod
async def clear_cache_monitor_cache_name_services(cls, request: Request, cache_name: str): async def clear_cache_monitor_cache_name_services(cls, request: Request, cache_name: str):
@ -84,11 +81,11 @@ class CacheService:
:param cache_name: 缓存名称 :param cache_name: 缓存名称
:return: 操作缓存响应信息 :return: 操作缓存响应信息
""" """
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)
return CrudResponseModel(is_success=True, message=f"{cache_name}对应键值清除成功") 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):
@ -98,11 +95,11 @@ class CacheService:
:param cache_key: 缓存键名 :param cache_key: 缓存键名
:return: 操作缓存响应信息 :return: 操作缓存响应信息
""" """
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)
return CrudResponseModel(is_success=True, message=f"{cache_key}清除成功") 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):
@ -118,4 +115,4 @@ class CacheService:
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(is_success=True, message="所有缓存清除成功") return CrudResponseModel(is_success=True, message='所有缓存清除成功')

Loading…
Cancel
Save