fix: remove duplicate prefix in cache keys (CacheType already provides prefix)

This commit is contained in:
HibiKier
2025-12-30 15:16:40 +08:00
parent 358c7f502c
commit 2ccd05f4cf
2 changed files with 18 additions and 9 deletions
+9 -9
View File
@@ -18,9 +18,9 @@ from .models import AuthSnapshot, PluginSnapshot
LOG_COMMAND = "auth_snapshot" LOG_COMMAND = "auth_snapshot"
# 缓存键前缀 # 内存缓存名称(CacheType 已提供 Redis 前缀,此处仅用于内存缓存标识)
AUTH_SNAPSHOT_PREFIX = "AUTH_SNAPSHOT" AUTH_MEMORY_CACHE_NAME = "AUTH_MEMORY"
PLUGIN_SNAPSHOT_PREFIX = "PLUGIN_SNAPSHOT" PLUGIN_MEMORY_CACHE_NAME = "PLUGIN_MEMORY"
# 内存缓存TTL配置 # 内存缓存TTL配置
AUTH_MEMORY_TTL = 10 # 权限快照内存缓存TTL(秒) AUTH_MEMORY_TTL = 10 # 权限快照内存缓存TTL(秒)
@@ -63,7 +63,7 @@ class AuthSnapshotService:
"""获取内存缓存实例(懒加载)""" """获取内存缓存实例(懒加载)"""
if cls._memory_cache is None: if cls._memory_cache is None:
cls._memory_cache = CacheRoot.cache_dict( cls._memory_cache = CacheRoot.cache_dict(
f"{AUTH_SNAPSHOT_PREFIX}_MEMORY", AUTH_MEMORY_CACHE_NAME,
expire=AUTH_MEMORY_TTL, expire=AUTH_MEMORY_TTL,
value_type=AuthSnapshot, value_type=AuthSnapshot,
) )
@@ -71,9 +71,9 @@ class AuthSnapshotService:
@classmethod @classmethod
def _build_cache_key(cls, user_id: str, group_id: str | None, bot_id: str) -> str: def _build_cache_key(cls, user_id: str, group_id: str | None, bot_id: str) -> str:
"""构建缓存键""" """构建缓存键(CacheType 已提供前缀,此处只需业务标识)"""
group_part = group_id or "PRIVATE" group_part = group_id or "PRIVATE"
return f"{AUTH_SNAPSHOT_PREFIX}:{user_id}:{group_part}:{bot_id}" return f"{user_id}:{group_part}:{bot_id}"
@classmethod @classmethod
async def get_snapshot( async def get_snapshot(
@@ -294,7 +294,7 @@ class PluginSnapshotService:
"""获取内存缓存实例(懒加载)""" """获取内存缓存实例(懒加载)"""
if cls._memory_cache is None: if cls._memory_cache is None:
cls._memory_cache = CacheRoot.cache_dict( cls._memory_cache = CacheRoot.cache_dict(
f"{PLUGIN_SNAPSHOT_PREFIX}_MEMORY", PLUGIN_MEMORY_CACHE_NAME,
expire=PLUGIN_MEMORY_TTL, expire=PLUGIN_MEMORY_TTL,
value_type=PluginSnapshot, value_type=PluginSnapshot,
) )
@@ -302,8 +302,8 @@ class PluginSnapshotService:
@classmethod @classmethod
def _build_cache_key(cls, module: str) -> str: def _build_cache_key(cls, module: str) -> str:
"""构建缓存键""" """构建缓存键(CacheType 已提供前缀,此处只需模块名)"""
return f"{PLUGIN_SNAPSHOT_PREFIX}:{module}" return module
@classmethod @classmethod
async def get_plugin( async def get_plugin(
+9
View File
@@ -138,6 +138,15 @@ class CacheDict(Generic[T]):
return data.value return data.value
def delete(self, key: str) -> None:
"""删除字典项
参数:
key: 字典键
"""
if key in self._data:
del self._data[key]
def clear(self) -> None: def clear(self) -> None:
"""清空字典""" """清空字典"""
self._data.clear() self._data.clear()