From 371fed69df3247b8389d9323129382e20e2c0036 Mon Sep 17 00:00:00 2001 From: insistence <3055204202@qq.com> Date: Fri, 12 Jul 2024 10:59:41 +0800 Subject: [PATCH] =?UTF-8?q?style:=20=E4=BD=BF=E7=94=A8ruff=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E5=8C=96=E7=BC=93=E5=AD=98=E7=9B=91=E6=8E=A7=E5=8F=8A?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=A8=A1=E5=9D=97=EF=BC=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/cache_controller.py | 45 +++++++++++++------ .../module_admin/entity/vo/cache_vo.py | 4 +- .../module_admin/service/cache_service.py | 37 +++++++-------- 3 files changed, 52 insertions(+), 34 deletions(-) diff --git a/ruoyi-fastapi-backend/module_admin/controller/cache_controller.py b/ruoyi-fastapi-backend/module_admin/controller/cache_controller.py index 459c8c6..9e72713 100644 --- a/ruoyi-fastapi-backend/module_admin/controller/cache_controller.py +++ b/ruoyi-fastapi-backend/module_admin/controller/cache_controller.py @@ -1,16 +1,19 @@ -from fastapi import APIRouter -from fastapi import Depends -from module_admin.service.login_service import LoginService -from module_admin.service.cache_service import * +from fastapi import APIRouter, Depends, Request +from typing import List from module_admin.aspect.interface_auth import CheckUserInterfaceAuth -from utils.response_util import * -from utils.log_util import * +from module_admin.entity.vo.cache_vo import CacheInfoModel, CacheMonitorModel +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.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): # 获取全量数据 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) -@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): # 获取全量数据 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) -@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): # 获取全量数据 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) -@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): # 获取全量数据 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) -@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): clear_cache_name_result = await CacheService.clear_cache_monitor_cache_name_services(request, cache_name) 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) -@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): clear_cache_key_result = await CacheService.clear_cache_monitor_cache_key_services(request, cache_key) 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) -@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): clear_cache_all_result = await CacheService.clear_cache_monitor_all_services(request) logger.info(clear_cache_all_result.message) diff --git a/ruoyi-fastapi-backend/module_admin/entity/vo/cache_vo.py b/ruoyi-fastapi-backend/module_admin/entity/vo/cache_vo.py index 8fa1231..79b49fb 100644 --- a/ruoyi-fastapi-backend/module_admin/entity/vo/cache_vo.py +++ b/ruoyi-fastapi-backend/module_admin/entity/vo/cache_vo.py @@ -1,12 +1,13 @@ from pydantic import BaseModel, ConfigDict, Field from pydantic.alias_generators import to_camel -from typing import Optional, List, Any +from typing import Any, List, Optional class CacheMonitorModel(BaseModel): """ 缓存监控信息对应pydantic模型 """ + model_config = ConfigDict(alias_generator=to_camel) command_stats: Optional[List] = Field(default=[], description='命令统计') @@ -18,6 +19,7 @@ class CacheInfoModel(BaseModel): """ 缓存监控对象对应pydantic模型 """ + model_config = ConfigDict(alias_generator=to_camel) cache_key: Optional[str] = Field(default=None, description='缓存键名') diff --git a/ruoyi-fastapi-backend/module_admin/service/cache_service.py b/ruoyi-fastapi-backend/module_admin/service/cache_service.py index 06000d1..d134b68 100644 --- a/ruoyi-fastapi-backend/module_admin/service/cache_service.py +++ b/ruoyi-fastapi-backend/module_admin/service/cache_service.py @@ -1,7 +1,7 @@ from fastapi import Request -from module_admin.entity.vo.cache_vo import * from config.env import RedisInitKeyConfig 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 @@ -20,13 +20,10 @@ class CacheService: info = await request.app.state.redis.info() db_size = await request.app.state.redis.dbsize() 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_dict.items()] - result = CacheMonitorModel( - commandStats=command_stats, - dbSize=db_size, - info=info - ) + command_stats = [ + dict(name=key.split('_')[1], value=str(value.get('calls'))) for key, value in command_stats_dict.items() + ] + result = CacheMonitorModel(commandStats=command_stats, dbSize=db_size, info=info) return result @@ -41,10 +38,10 @@ class CacheService: if not attr_name.startswith('__') and isinstance(getattr(RedisInitKeyConfig, attr_name), dict): name_list.append( CacheInfoModel( - cacheKey="", + cacheKey='', cacheName=getattr(RedisInitKeyConfig, attr_name).get('key'), - cacheValue="", - remark=getattr(RedisInitKeyConfig, attr_name).get('remark') + cacheValue='', + remark=getattr(RedisInitKeyConfig, attr_name).get('remark'), ) ) @@ -58,8 +55,8 @@ class CacheService: :param cache_name: 缓存名称 :return: 缓存键名列表信息 """ - 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_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}:')] return cache_key_list @@ -72,9 +69,9 @@ class CacheService: :param cache_key: 缓存键名 :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 async def clear_cache_monitor_cache_name_services(cls, request: Request, cache_name: str): @@ -84,11 +81,11 @@ class CacheService: :param cache_name: 缓存名称 :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: 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 async def clear_cache_monitor_cache_key_services(cls, request: Request, cache_key: str): @@ -98,11 +95,11 @@ class CacheService: :param cache_key: 缓存键名 :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: 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 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_config(request.app.state.redis) - return CrudResponseModel(is_success=True, message="所有缓存清除成功") + return CrudResponseModel(is_success=True, message='所有缓存清除成功')