https://ioku.net/2022/04/02/62486b3568010.png
Typecho虽然轻量,但终究仍是PHP动态脚本,访问时需要频繁调取数据库的信息,导致并发值一高,CPU就100%占用,无法处理新的请求信息。这时,我们可以用 Redis 来设置缓存,从而不用频繁调动数据库,来达到加速访问的目的。注意: Redis 仅支持 Linux 系统,如果你是Windows系统,可考虑其他软件。

介绍

Redis是一个高性能的key-value数据库。

  • 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • 支持数据的备份,即master-slave模式的数据备份。

    安装

如果是宝塔面板 的话后台软件管理页面直接有,可以一键安装。
现在PHP设置里安装Redis扩展
https://ioku.net/2022/04/02/6248661f0e9dd.png
软件商店安装插件,安装完成后无需设置
https://ioku.net/2022/04/02/624865e21d050.png

安装typecho插件

项目地址: TpCache

上传到 usr/plugins 注意修改文件夹名称,即去掉 -master 后缀,后台启用插件。

设置插件

https://ioku.net/2022/04/02/624866f34a3bd.png

  • 需要缓存的页面:全选除 Feed
  • 是否对已登录用户失效: 开启
  • 是否支持SSL:根据实际情况选择
  • 缓存驱动: Redis
  • 缓存过期时间: 86400
  • 主机地址: 127.0.0.1
  • 端口号: 6379
  • 是否开启debug: 关闭
  • 清除所有数据: 关闭

    效果

    https://ioku.net/2022/04/02/6248692ae610e.png
    目前200并发值CPU占用15%左右,效果提升还是很明显的。

    BUG

  • 文章阅读次数也被缓存,导致统计不到,一直是同一个次数。
  • 原生评论访客评论后也会留下缓存信息,即下一个访客会显示上一个访客留下的姓名邮箱信息。

    解决方案

  • 使用第三方页面次数统计服务
  • 使用第三方评论系统

创作不易,转载请 注明来源

原创文章,作者:星泽,如若转载,请注明出处:https://www.52xzv.cn/archives/289.html
最后修改:2023 年 08 月 27 日
如果觉得我的文章对你有用,请随意赞赏