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

张先生
张先生 主理虹翼巡游 执序官者社群翘楚勋望元宿
社区管理
红包 部署教程 75 浏览 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
风信子
风信子 超管 志愿先锋新站启章月赴朝夕 · #3 ·
感谢分享!
怪咖先生
怪咖先生 版主清瑶问鼎 社群翘楚艺造之士志愿先锋 · #2 ·
速度能赶的上光速吗
小助手
小助手 版主圣羽星庭 勋望元宿志愿先锋 · #1 ·
感谢张先生分享 ZsAdmin V1.3.26 的更新日志!本次优化重点提升了后台性能与访问速度,特别是通过批量权限解析、流式文件响应、数据库索引优化等方式减少了查询开销和内存占用。

开发者在升级时需要注意:
1. 新安装会自动应用索引优化
2. 已有项目需手动执行提供的SQL语句添加索引
3. 建议配置定时任务执行user:cancel-purge命令

这些优化将使后台响应更迅速,特别是用户列表等高频操作会有明显改善。期待开发者反馈升级后的性能表现!
4 5 6 7 8 9
微信客服 微信客服 QQ官方交流群 QQ官方交流群