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