雅诺狐
|
c870af768d
|
fix(redis):更新Redis连接池初始化,以兼容redis-py 7.x版本
更新Redis连接池创建方式,使用connection_class参数替代已弃用的ssl参数,以适配redis-py 7.x及以上版本
|
2025-12-10 15:06:01 +08:00 |
|
Windpicker-owo
|
fa9b0b3d7e
|
feat(database): 优化消息查询和计数逻辑,增加安全限制以防内存暴涨
|
2025-12-09 17:35:23 +08:00 |
|
雅诺狐
|
a6aad8b8ea
|
Revert "fix(redis): 添加Redis缓存模块导入异常处理"
This reverts commit f76cf36bae.
|
2025-12-09 13:52:42 +08:00 |
|
Windpicker-owo
|
f76cf36bae
|
fix(redis): 添加Redis缓存模块导入异常处理
|
2025-12-08 20:54:23 +08:00 |
|
雅诺狐
|
87bd071ced
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev
|
2025-12-08 17:44:00 +08:00 |
|
雅诺狐
|
da27c865d0
|
引入Redis
|
2025-12-08 17:42:57 +08:00 |
|
Windpicker-owo
|
01bcfb491a
|
Merge branch 'dev' of https://github.com/MoFox-Studio/MoFox-Core into dev
|
2025-12-08 17:19:33 +08:00 |
|
Windpicker-owo
|
a1d60ab026
|
启用数据库预加载器,清理日志
|
2025-12-08 17:17:53 +08:00 |
|
雅诺狐
|
3edcc9d169
|
ruff
|
2025-12-08 15:48:40 +08:00 |
|
Windpicker-owo
|
fbc37bbcaf
|
refactor(logging): 简化日志记录,移除冗余调试信息
delete(connection_pool): 移除连接池管理器相关代码
|
2025-12-07 15:19:12 +08:00 |
|
Windpicker-owo
|
06a45b3639
|
refactor: 移除对 MySQL 的支持,更新文档和配置以仅支持 SQLite 和 PostgreSQL
|
2025-12-04 23:30:43 +08:00 |
|
ikun-11451
|
72e7492953
|
依旧修pyright喵~
|
2025-11-29 21:26:42 +08:00 |
|
Windpicker-owo
|
2bd7e93af7
|
fix: 更新数据库会话管理,确保事务在正常退出时自动提交,并在异常时安全回滚
|
2025-11-28 13:24:41 +08:00 |
|
Windpicker-owo
|
43483b934e
|
feat: 更新机器人配置并添加数据库迁移脚本
- 将bot_config_template.toml中的版本升级至7.9.0
- 增强数据库配置选项以支持PostgreSQL
- 引入一个新脚本,用于在SQLite、MySQL和PostgreSQL之间迁移数据
- 实现一个方言适配器,用于处理特定于数据库的行为和配置
|
2025-11-27 18:45:01 +08:00 |
|
Windpicker-owo
|
0908fb50a0
|
优化日志
|
2025-11-26 21:16:16 +08:00 |
|
Windpicker-owo
|
03c80a08fb
|
优化缓存条目大小估算,添加向量存储标记,清理待处理消息逻辑
|
2025-11-20 12:17:43 +08:00 |
|
minecraft1024a
|
0e1e9935b2
|
style: 统一代码风格并采用现代化类型注解
对整个代码库进行了一次全面的代码风格清理和现代化改造,主要包括:
- 移除了所有文件中多余的行尾空格。
- 将类型提示更新为 PEP 585 和 PEP 604 引入的现代语法(例如,使用 `list` 代替 `List`,使用 `|` 代替 `Optional`)。
- 清理了多个模块中未被使用的导入语句。
- 移除了不含插值变量的冗余 f-string。
- 调整了部分 `__init__.py` 文件中的 `__all__` 导出顺序,以保持一致性。
这些改动旨在提升代码的可读性和可维护性,使其与现代 Python 最佳实践保持一致,但未修改任何核心逻辑。
|
2025-11-12 12:49:40 +08:00 |
|
Windpicker-owo
|
d007b98f5c
|
fix(cache-manager): 修复类型注解,使用Optional以提高代码可读性和一致性
|
2025-11-08 22:34:25 +08:00 |
|
Windpicker-owo
|
04c6c204e8
|
fix(cache-manager): 修复并行获取缓存统计信息和内存使用,避免死锁和重复计数
fix(scheduler): 改进调度任务的多阶段取消机制,彻底避免死锁风险
|
2025-11-08 22:17:12 +08:00 |
|
Windpicker-owo
|
98bfa05b96
|
feat(scheduler): 新增死锁检测器,改进任务取消机制,优化异步通知
|
2025-11-08 18:20:00 +08:00 |
|
Windpicker-owo
|
96dbb8fc55
|
fix(config): 增加缓存生存时间和最大内存占用限制
|
2025-11-08 11:03:01 +08:00 |
|
明天好像没什么
|
c8d7c09625
|
ruff
|
2025-11-07 21:01:45 +08:00 |
|
Windpicker-owo
|
4e2b598164
|
feat(cache): 提升内存管理与监控能力
- 在CacheManager中添加健康监控系统,并提供详细的内存统计信息
- 使用新的memory_utils模块实现精确的内存估算
- 添加基于大小的缓存条目限制,以防止过大项目
- 通过去重内存计算优化缓存统计
- 在MultiLevelCache中添加过期条目的自动清理功能
- 增强批处理调度器缓存功能,支持LRU驱逐策略和内存追踪
- 更新配置以支持最大项目大小限制
- 添加全面的内存分析文档和工具
重大变更:CacheManager 的默认 TTL 参数现改为 None 而非 3600。数据库兼容层默认禁用缓存,以防止旧版代码过度使用缓存。
|
2025-11-03 15:18:00 +08:00 |
|
Windpicker-owo
|
99785d09ad
|
feat(cache): 添加自定义TTL支持和内存限制配置
|
2025-11-02 13:25:39 +08:00 |
|
明天好像没什么
|
30658afdb4
|
ruff归零
|
2025-11-01 21:32:41 +08:00 |
|
明天好像没什么
|
cb97b2d8d3
|
rufffffff
|
2025-11-01 21:10:01 +08:00 |
|
Windpicker-owo
|
2aeb06f708
|
fix: 修复批处理中的多次commit问题,bulk_create后清除缓存
|
2025-11-01 17:31:31 +08:00 |
|
Windpicker-owo
|
a352c69043
|
fix(critical): 修复SQLite事务未提交的严重bug - 在connection_pool.get_session()中添加自动commit
|
2025-11-01 17:19:05 +08:00 |
|
Windpicker-owo
|
f7bb8058a8
|
feat(database): 完成优化层实现 - 自适应批量调度器
- batch_scheduler.py: 全新的自适应批量调度器
* AdaptiveBatchScheduler: 核心调度引擎
* 自适应批次: 10-100动态调整,根据负载优化
* 优先级队列: LOW/NORMAL/HIGH/URGENT四级优先级
* 智能等待: 50-200ms动态调整,平衡吞吐和延迟
* 超时保护: 防止操作长时间阻塞
* 拥塞控制: 实时监控队列状态,自动调节
- 性能优化算法:
* 批次自适应: congestion > 0.7 增大批次
* 等待时间调整: duration > 2*wait 增加等待
* 缓存集成: 5秒TTL,减少重复查询
- 批量执行能力:
* SELECT: 智能合并相似查询
* INSERT: 批量插入,减少事务开销
* UPDATE/DELETE: 单条执行但复用会话
- 统计监控:
* 吞吐量: 总操作数/批处理数
* 性能: 平均批次大小/执行时间
* 质量: 缓存命中率/超时率/错误率
* 拥塞: 实时拥塞评分(0-1)
优化层三大组件全部完成:
1. MultiLevelCache - L1+L2两级缓存
2. DataPreloader - 智能预加载引擎
3. AdaptiveBatchScheduler - 自适应批处理
预期性能提升:
- 查询响应: 减少60% (缓存+预加载)
- 写入吞吐: 提升300% (批量处理)
- 数据库负载: 降低50% (连接复用+批处理)
|
2025-11-01 12:50:43 +08:00 |
|
Windpicker-owo
|
8a2a2700a5
|
feat(database): 实现智能数据预加载器
- preloader.py: 完整的数据预加载系统
* DataPreloader: 核心预加载引擎
* AccessPattern: 访问模式追踪和分析
* 热点识别: 基于时间衰减的热度评分算法
* 关联预取: 自动识别和预加载相关数据
* 自适应策略: 动态调整预加载阈值
* 异步预加载: 不阻塞主线程
- CommonDataPreloader: 常见数据预加载
* preload_user_data: 用户信息、权限、关系
* preload_chat_context: 聊天流和消息上下文
- 特性:
* 时间衰减: score = count * decay^hours
* 关联学习: 自动记录数据访问关联
* 批量预加载: 后台批量加载热点数据
* 统计监控: 预加载命中率等指标
优化层第二部分完成,预期提升30%响应速度
|
2025-11-01 12:48:45 +08:00 |
|
Windpicker-owo
|
572485a3f4
|
feat(database): 实现多级缓存管理器
- cache_manager.py: 完整的多级缓存系统
* LRUCache: O(1)的LRU缓存实现
* MultiLevelCache: L1+L2两级缓存架构
* L1缓存: 1000项/60秒,用于热点数据
* L2缓存: 10000项/300秒,用于温数据
* 自动淘汰: LRU策略淘汰最少使用数据
* 统计监控: 命中率、淘汰率等指标
* 智能提升: L2命中自动提升到L1
* 定期清理: 后台任务清理过期数据
- 功能特性:
* 异步锁保证线程安全
* 自动估算数据大小
* 支持自定义loader函数
* 全局单例模式
优化层第一部分完成,命中率预期>80%
|
2025-11-01 12:47:29 +08:00 |
|
Windpicker-owo
|
fbe6fb759d
|
refactor(database): 阶段一 - 创建新架构基础
- 创建分层目录结构 (core/api/optimization/config/utils)
- 实现核心层: engine.py, session.py
- 实现配置层: database_config.py
- 实现工具层: exceptions.py
- 迁移连接池管理器到优化层
- 添加详细的重构计划文档
|
2025-11-01 12:35:39 +08:00 |
|