ZsAdmin V1.3.26 更新日志,提升性能与访问速度优化

张先生
张先生 主理虹翼巡游 执序官者社群翘楚勋望元宿
社区管理
红包 部署教程 56 浏览 163 回复

更新日志

本文件记录 ZsAdmin「智数」后台开发框架的主要变更。

2026-10-28 — 性能与访问速度优化

本次更新围绕「后台响应更快、数据库查询更少、前端资源加载更轻」进行优化,

不改变原有业务功能;对已有数据库提供自动回退,升级安全无侵入。

新增

  • 批量权限解析 CommunityPerm::mapForUserIds():一次性查询并在内存中计算多个用户的社区角色与权限,供后台用户列表使用。
  • 内联流式文件响应 app\response\InlineFile:插件/主题图片通过 readfile 流式输出,不再整文件载入内存。
  • 维护命令注册:启用 php think user:cancel-purge(到期注销清理)与 php think backup:run(定时备份),可配置系统计划任务调用。
  • 数据库索引:安装脚本为 user、attachment、admin_log 等表补充常用查询索引,并新增基于 ngram 的全文索引。

优化(性能)

  • 消除用户列表 N+1 查询:后台用户列表改为批量解析权限,冷缓存场景下由「每用户一次查询」降为「一次批量查询」。
  • 欢迎页缓存:管理员/用户/今日新增等统计计数缓存 60 秒;可能阻塞的 DNS(gethostbyname)探测结果缓存 5 分钟。
  • 图表懒加载:约 527KB 的 ApexCharts 改为运行时动态加载,不再阻塞页面解析与首屏渲染。
  • 插件资源协商缓存:插件图标/预览图支持 ETag、Last-Modified,命中时返回 304 Not Modified,并补充 immutable 与 X-Content-Type-Options: nosniff。
  • 关键词全文检索:用户关键词搜索在存在 ngram FULLTEXT 索引且关键词不少于 2 字时走布尔全文检索;无索引或短词时自动回退原 LIKE 模糊匹配,旧库行为不变。
  • 日志治理:日志文件最多保留 30 个,error/emergency/alert 级别独立成文件,避免长期运行日志无限膨胀。

变更

  • 请求路径瘦身:后台用户列表不再在请求中顺带执行到期注销清理,该职责移交计划任务命令。
  • Cookie 安全联动:Cookie 的 secure 改为环境变量优先,未显式配置时在 HTTPS 请求下自动启用,HTTP 下保持关闭。

升级注意

  • database/install.sql 的索引变更仅影响新安装。已有数据库需手动执行索引迁移(大表建议低峰或使用在线 DDL)。
  • 全文检索需 MySQL 5.7.6+,并使用 ngram 解析器;未建立全文索引时系统自动使用原搜索方式,无需强制升级。
  • 建议上线后将 php think user:cancel-purge 配置为每天执行的计划任务。

手动执行以下sql命令(新装不需要执行):

ALTER TABLE `zs_user`
  ADD INDEX `idx_status` (`status`),
  ADD INDEX `idx_login_time` (`login_time`),
  ADD INDEX `idx_create_time` (`create_time`),
  ADD INDEX `idx_delete_time` (`delete_time`),
  ADD FULLTEXT KEY `ft_user_search` (`username`,`nickname`,`email`,`mobile`) WITH PARSER ngram;

ALTER TABLE `zs_attachment`
  ADD INDEX `idx_storage` (`storage`),
  ADD INDEX `idx_create_time` (`create_time`),
  ADD INDEX `idx_delete_time` (`delete_time`);

ALTER TABLE `zs_admin_log`
  ADD INDEX `idx_module_status_time` (`module`,`status`,`create_time`);

全文索引需 MySQL 5.7.6+。上线后建议把`user:cancel-purge` 配成宝塔计划任务(每天 1 次)。

执行命令的时候将zs_ 修改为自己设置的数据表前缀~

帖内红包
评论163
评论 · 163
朱娜丽
朱娜丽 新手时梦乐园 · #20 ·
同求,期待更新
蔡明博
蔡明博 初级清瑶问鼎 · #19 ·
同求,期待更新
NightOwl
NightOwl 初级璃梦花海 · #18 ·
学到了,顶一下
浪漫的草莓
浪漫的草莓 初级心屿荧途 · #17 ·
学到了,顶一下
晚晴
晚晴 新手赤羽栖云 · #16 ·
学到了,顶一下
FinnSnow
FinnSnow 初级赤羽栖云 · #15 ·
同求,期待更新
Vera
Vera 初级漫步繁花 · #14 ·
同求,期待更新
自由的骑士
自由的骑士 中级 · #13 ·
已解决,谢谢楼主
发光的海盐
发光的海盐 初级流金绮梦 · #12 ·
写得很清楚,收藏了
徐敏
徐敏 新手心屿荧途 · #11 ·
感谢分享!
安然95
安然95 初级暖弦漫旋 · #10 ·
感谢分享!
Ben
Ben 初级 · #9 ·
已解决,谢谢楼主
XenaWave
XenaWave 新手璃梦花海 · #8 ·
学到了,顶一下
Nina
Nina 初级麟宫绮梦 · #7 ·
写得很清楚,收藏了
AmberYang
AmberYang 中级净世白羽 · #6 ·
写得很清楚,收藏了
未央
未央 初级漫步繁花 · #5 ·
已解决,谢谢楼主
郭婷鑫
郭婷鑫 初级 · #4 ·
同求,期待更新
Paul
Paul 新手番响心动 · #3 ·
支持了~
Finn
Finn 初级璃海华章 · #2 ·
同求,期待更新
🐱汽水🎐
🐱汽水🎐 初级星灿心语 · #1 ·
感谢分享!
4 5 6 7 8 9
微信客服 微信客服 QQ官方交流群 QQ官方交流群