style: 使用ruff格式化缓存监控及列表模块,优化导入
This commit is contained in:
@@ -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)
|
||||
|
@@ -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='缓存键名')
|
||||
|
@@ -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='所有缓存清除成功')
|
||||
|
Reference in New Issue
Block a user