fix(config): 增加缓存生存时间和最大内存占用限制

This commit is contained in:
Windpicker-owo
2025-11-08 11:03:01 +08:00
parent 6832cbcc91
commit 96dbb8fc55
4 changed files with 7 additions and 7 deletions

View File

@@ -89,7 +89,7 @@ class AdaptiveBatchScheduler:
base_wait_time: float = 0.05, # 50ms base_wait_time: float = 0.05, # 50ms
max_wait_time: float = 0.2, # 200ms max_wait_time: float = 0.2, # 200ms
max_queue_size: int = 1000, max_queue_size: int = 1000,
cache_ttl: float = 5.0, cache_ttl: float = 30.0,
): ):
"""初始化调度器 """初始化调度器

View File

@@ -143,7 +143,7 @@ def timeout(seconds: float):
def cached( def cached(
ttl: int | None = 300, ttl: int | None = 600,
key_prefix: str | None = None, key_prefix: str | None = None,
use_args: bool = True, use_args: bool = True,
use_kwargs: bool = True, use_kwargs: bool = True,

View File

@@ -44,9 +44,9 @@ class DatabaseConfig(ValidatedConfigBase):
# 数据库缓存配置 # 数据库缓存配置
enable_database_cache: bool = Field(default=True, description="是否启用数据库查询缓存系统") enable_database_cache: bool = Field(default=True, description="是否启用数据库查询缓存系统")
cache_l1_max_size: int = Field(default=1000, ge=100, le=50000, description="L1缓存最大条目数热数据内存占用约1-5MB") cache_l1_max_size: int = Field(default=1000, ge=100, le=50000, description="L1缓存最大条目数热数据内存占用约1-5MB")
cache_l1_ttl: int = Field(default=60, ge=10, le=3600, description="L1缓存生存时间") cache_l1_ttl: int = Field(default=300, ge=10, le=3600, description="L1缓存生存时间")
cache_l2_max_size: int = Field(default=10000, ge=1000, le=100000, description="L2缓存最大条目数温数据内存占用约10-50MB") cache_l2_max_size: int = Field(default=10000, ge=1000, le=100000, description="L2缓存最大条目数温数据内存占用约10-50MB")
cache_l2_ttl: int = Field(default=300, ge=60, le=7200, description="L2缓存生存时间") cache_l2_ttl: int = Field(default=1800, ge=60, le=7200, description="L2缓存生存时间")
cache_cleanup_interval: int = Field(default=60, ge=30, le=600, description="缓存清理任务执行间隔(秒)") cache_cleanup_interval: int = Field(default=60, ge=30, le=600, description="缓存清理任务执行间隔(秒)")
cache_max_memory_mb: int = Field(default=100, ge=10, le=1000, description="缓存最大内存占用MB超过此值将触发强制清理") cache_max_memory_mb: int = Field(default=100, ge=10, le=1000, description="缓存最大内存占用MB超过此值将触发强制清理")
cache_max_item_size_mb: int = Field(default=1, ge=1, le=100, description="单个缓存条目最大大小MB超过此值将不缓存") cache_max_item_size_mb: int = Field(default=1, ge=1, le=100, description="单个缓存条目最大大小MB超过此值将不缓存")

View File

@@ -46,11 +46,11 @@ batch_action_storage_enabled = true # 是否启用批量保存动作记录(开
# 数据库缓存配置(防止内存溢出) # 数据库缓存配置(防止内存溢出)
enable_database_cache = true # 是否启用数据库查询缓存系统 enable_database_cache = true # 是否启用数据库查询缓存系统
cache_l1_max_size = 1000 # L1缓存最大条目数热数据内存占用约1-5MB cache_l1_max_size = 1000 # L1缓存最大条目数热数据内存占用约1-5MB
cache_l1_ttl = 60 # L1缓存生存时间 cache_l1_ttl = 300 # L1缓存生存时间
cache_l2_max_size = 10000 # L2缓存最大条目数温数据内存占用约10-50MB cache_l2_max_size = 10000 # L2缓存最大条目数温数据内存占用约10-50MB
cache_l2_ttl = 300 # L2缓存生存时间 cache_l2_ttl = 1800 # L2缓存生存时间
cache_cleanup_interval = 60 # 缓存清理任务执行间隔(秒) cache_cleanup_interval = 60 # 缓存清理任务执行间隔(秒)
cache_max_memory_mb = 500 # 缓存最大内存占用MB超过此值将触发强制清理 cache_max_memory_mb = 50 # 缓存最大内存占用MB超过此值将触发强制清理
cache_max_item_size_mb = 5 # 单个缓存条目最大大小MB超过此值将不缓存 cache_max_item_size_mb = 5 # 单个缓存条目最大大小MB超过此值将不缓存
[permission] # 权限系统配置 [permission] # 权限系统配置