2.6 KiB
2.6 KiB
Cursor注册工具 - MySQL & Redis支持
本文档说明了如何将Cursor注册工具从SQLite数据库迁移到MySQL数据库,并可选地启用Redis缓存以提高性能。
变更内容
- 数据库后端从SQLite更换为MySQL
- 可选启用Redis缓存
- 提供数据迁移脚本
- 优化数据库查询性能
- 增加数据库连接池管理
前置要求
- Python 3.7+
- MySQL/MariaDB 服务器
- Redis服务器 (可选)
- 安装依赖:
pip install -r requirements.txt
配置说明
在config.yaml中添加了MySQL和Redis相关配置:
# 数据库配置
database:
# SQLite配置(兼容旧版本)
path: "cursor.db"
pool_size: 10
# MySQL配置
host: "localhost"
port: 3306
username: "root"
password: ""
database: "cursor_register"
# 是否使用Redis缓存
use_redis: true
# Redis配置(可选,当use_redis为true时生效)
redis:
host: "127.0.0.1"
port: 6379
password: ""
db: 0
数据迁移步骤
- 确保MySQL服务器已启动,并已创建好数据库
- 更新
config.yaml配置文件,设置正确的数据库连接信息 - 运行迁移脚本:
python migrate_db.py - 迁移脚本会自动创建表结构并将旧数据导入MySQL
使用Redis缓存
若要启用Redis缓存以提高性能:
-
安装Redis服务器:
- Windows: 使用WSL或Windows版Redis
- Linux:
sudo apt install redis-server(Ubuntu) 或sudo yum install redis(CentOS) - macOS:
brew install redis
-
在
config.yaml中设置use_redis: true并配置Redis连接信息 -
确保安装了
aioredis包:pip install aioredis>=2.0.0
常见问题
-
无法连接到MySQL
- 确认MySQL服务已启动
- 检查用户名和密码是否正确
- 确认数据库是否已创建
- 检查防火墙设置
-
无法连接到Redis
- 确认Redis服务已启动
- 检查端口和密码设置
- 如不需要Redis,可设置
use_redis: false
-
迁移失败
- 检查原SQLite数据库文件是否存在且有效
- 确认MySQL用户有创建表和写入数据的权限
性能调优
-
优化MySQL配置:
[mysqld] innodb_buffer_pool_size = 128M innodb_log_file_size = 32M max_connections = 100 -
优化Redis配置:
maxmemory 128mb maxmemory-policy allkeys-lru -
优化连接池大小:根据并发需要调整
pool_size参数
注意事项
- 请确保定期备份MySQL数据库
- Redis仅用于缓存,断电或重启会丢失缓存数据
- 如在多机部署,需确保时区配置一致