✨ feat(cache): 新增 Redis 缓存与 PostgreSQL 后端支持
- 新增 cache.redis 配置(独立 host/port/password/db 字段),启用后正文缓存与音频代理缓存走 Redis,键前缀 fq:cache:/fq:audio:,TTL 自动过期 - 新增 cache.backend: sqlite|postgres 切换,PG 连接用 net/url 构造 DSN,密码特殊字符自动转义;SQLite 顺手启用 WAL 与 busy_timeout - SQL 方言收敛:q() 将 ? 占位符转换为 $n、INSERT OR IGNORE 与查询再插入统一为 ON CONFLICT、LastInsertId 改为 RETURNING id、建表 DDL 双版本分派 - PG 下 VACUUM 走 autovacuum 说明、状态页大小改查 pg_database_size - 修复 PG 下设备保存失败:is_valid 列为 INTEGER,写入点补 boolToInt 转换 - 新增 .env 支持:敏感配置(密码/主机/访问密钥)由环境变量覆盖 config.yaml,.env 进 gitignore,仓库附 .env.example 模板 - 删除死代码 InitDevicePoolTable;新增 rebind_test.go 单测 - 更新 README 与 config.yaml 配置示例,go.mod 新增 go-redis/v9 与 pgx/v5 依赖
This commit is contained in:
1 parent
d710d382ee
commit
cf16c37f32
14 files changed
+671
-210
No files matched your search
+41
-21
@@ -2,9 +2,9 @@
|
||||
|
||||
# 服务器配置
|
||||
server:
|
||||
port: "40180" # 监听端口
|
||||
host: "0.0.0.0" # 监听地址
|
||||
access_key: "" # 访问密钥,为空则不启用验证(用于 /status 和 /self-info)
|
||||
port: "40180" # 监听端口
|
||||
host: "0.0.0.0" # 监听地址
|
||||
access_key: "" # 访问密钥,为空则不启用验证(用于 /status 和 /self-info)
|
||||
|
||||
# 番茄小说配置
|
||||
fanqie:
|
||||
@@ -12,38 +12,38 @@ fanqie:
|
||||
# gorgon: Gorgon算法
|
||||
# 8404: 备用算法
|
||||
algorithm: "gorgon"
|
||||
|
||||
|
||||
# 签名方法: "sign2" 或 "sign4"
|
||||
# sign2: 仅Gorgon签名
|
||||
# sign4: X-Gorgon + X-Ladon + X-Argus 完整签名
|
||||
signature: "sign4"
|
||||
|
||||
|
||||
# 内容处理配置
|
||||
content:
|
||||
# 是否移除图片(默认false,保留图片)
|
||||
remove_images: false
|
||||
|
||||
|
||||
# 是否移除图片描述(默认false,保留描述)
|
||||
remove_image_desc: true
|
||||
|
||||
|
||||
# 是否移除空行(默认true,移除空行)
|
||||
remove_blank_lines: true
|
||||
|
||||
|
||||
# 是否移除HTML标签(默认false,保留HTML)
|
||||
remove_html_tags: true
|
||||
|
||||
|
||||
# 是否移除章节名(默认false,保留章节名)
|
||||
remove_chapter_title: true
|
||||
|
||||
|
||||
# 是否添加段落缩进(默认true,添加两个全角空格)
|
||||
add_paragraph_indent: false
|
||||
|
||||
|
||||
# 段落间使用双换行(true=\n\n, false=\n)
|
||||
double_newline: false
|
||||
|
||||
|
||||
# 是否启用段评功能(默认true,启用段评)
|
||||
enable_review: true
|
||||
|
||||
|
||||
# 漫画处理配置
|
||||
manga:
|
||||
# 输出模式:proxy / data_uri / url
|
||||
@@ -56,13 +56,34 @@ fanqie:
|
||||
cache:
|
||||
# 是否启用正文内容缓存
|
||||
enabled: true
|
||||
|
||||
# SQLite数据库文件路径
|
||||
|
||||
# 存储后端:sqlite | postgres
|
||||
backend: postgres
|
||||
|
||||
# SQLite数据库文件路径(backend 为 sqlite 时使用)
|
||||
sqlite_path: "./cache.db"
|
||||
|
||||
|
||||
# PostgreSQL连接配置(backend 为 postgres 时使用)
|
||||
# 敏感值(密码等)建议放 .env,见 .env.example;环境变量优先于此处配置
|
||||
postgres:
|
||||
host: "127.0.0.1"
|
||||
port: 5432
|
||||
user: "postgres"
|
||||
password: ""
|
||||
database: "fanqie"
|
||||
sslmode: "disable" # disable | prefer | require
|
||||
|
||||
# Redis缓存(启用后正文缓存与音频代理缓存走 Redis,统计数据与设备池仍在 SQL 库)
|
||||
redis:
|
||||
enabled: true
|
||||
host: "127.0.0.1"
|
||||
port: 6379
|
||||
password: ""
|
||||
db: 1
|
||||
|
||||
# 是否启用正文内容缓存自动清理
|
||||
cleanup_enabled: true
|
||||
|
||||
|
||||
# 正文内容缓存清理时间(秒),0表示不自动清理
|
||||
cleanup_seconds: 86400
|
||||
|
||||
@@ -70,13 +91,12 @@ cache:
|
||||
device_key_pool:
|
||||
# 是否启用设备密钥池
|
||||
enabled: true
|
||||
|
||||
|
||||
# 初始化设备数量
|
||||
initial_size: 20
|
||||
|
||||
|
||||
# 最小设备数量(低于此数量自动补充)
|
||||
min_size: 10
|
||||
|
||||
|
||||
# 最大设备数量
|
||||
max_size: 30
|
||||
|
||||
Reference in new issue
Block a user