mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-05 11:49:59 +08:00
fix: remove duplicate prefix in cache keys (CacheType already provides prefix)
This commit is contained in:
@@ -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
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user