本帖最后由 RACH 于 2023-6-15 11:26 编辑
DbCache
## 版本
1.0## BT插件交流QQ群:913143887
## 开发语言
golang+python
## 功能描述
用于加速Mysql数据库缓存加速,通过synbench压力测试结果,*均耗费时间是未加速的0.01
极大减少数据库并发压力
## 已经支持功能
- 数据库加速
- 数据库连接优化
- 自定义包大小,不同业务缓存时长控制,是否缓存控制
- 多服务器集群支持
## 待开发功能
- SQL注入拦截
- 脚本支持
## 优势
使用dbcache 可以快速解决高并发,及复杂SQL语句查询来来的数据库层面压力,提升动态业务响应能力
您配置好服务后,对于业务使用只需要修改下端口即可获得能力提升
## 后续发展
有一定用户保有量后,考虑开源,现行服务提供方式 宝塔面板插件 搜索 "dbcache"
## 更新
### dbcache 1.1.1
- 增加多端口支持,避免同数据库服务器异库同结构发生数据交叉
- 增加永久缓存支持,针对伪静态用户提供快捷静态化方案,大量长期不需要更新数据提供永久缓存支持
- 优化CPU资源占用,解决WIN版本系统偶发缓存无法更新问题
- 优化缓存存储结构,通过数据离散存储,防止单一目录缓存文件数据过多降低数据处理能力
## 配置文件说明
- ;指定过期时间如在指定SQL 中添加
- ; -- [EXPIRE:10] -- 表示缓存10s
- ; -- [EXPIRE:-1] -- 表示不缓存
- ; -- [EXPIRE:0] -- 表示永不过期
- [src]
- ; 监听IP 设置为 127.0.0.1只允许本机访问
- ip=0.0.0.0
- ; 监听端口多个端口请使用,分割 如:33060,33061,33062 当服务器上 有多个库且同结构时开启避免缓存交叉,在应用连接串中使用不同端口进行连接
- port=33063,33064
- [desc]
- ; 数据库IP
- ip=127.0.0.1
- ; 数据库端口
- port=3306
- [connect]
- ;超时时间 建议设置为应用中查询需要的最大时间单位为秒
- timeout=2
- ;是否启用集群
- enablepool=0
- ; 是否启用白名单过滤
- enablefilter=0
- [lua]
- ; LUA脚本路径
- file=./luascript/script.lua
- ; 是否启用LUA
- enable=1
- ;脚本出错后是否禁用标本
- errorbreak=0
- ; 集群数据库,一行一台服务器 支持 IPV4/6 格式为 -=服务器ip:端口 优先级
- [pools]
- -=127.0.0.1:3306 1
- ; 允许访问白名单 all允许全部 支持 192.168.0.* 表示一个24网段
- [whitelist]
- -=127.0.0.1
- ;-=all
- [log]
- ; 日志存储路径
- path=./logs
- ; 是否启用日志
- enable=1
- ;日志级别 1 INFO 2 DEBUG 3 WARN 4 ERROR
- level=3
- [cache]
- ;缓存目录层级,建议为2
- path_levels=2
- ; 过期时间单位为秒
- expire=0
- ; 忽略SQL语句大小写
- ignorecase=1
- ; 数据包大小,建议在1024-10240之间
- packet_size=4096
- ;最大SQL大小,按字节计算
- max_sql_size=4096
- ;缓存目录
- path=./cache
- ;缓存数据后缀
- ext=frm
- ;缓存数据前缀
- prefix=rach
- ; 缓存方式 1 slices并发模式,2 once 1方式效率更高
- mode=2
- ;数据库包头长度,请不要轻易修改
- header_size=4
- ; 启用后支持
- ;此SQL语句时间根据此设定超期
- flag=1
- ; 开启调试
- debug=1
- ; 输出信息
- print=1
复制代码
无限循环执行 复杂SQL like联表查询 30000条数据效果
单表1000万数据查询20万数据效果
相关配置界面
|
|