Typecho虽然轻量,但终究仍是PHP动态脚本,访问时需要频繁调取数据库的信息,导致并发值一高,CPU就100%占用,无法处理新的请求信息。这时,我们可以用 Redis
来设置缓存,从而不用频繁调动数据库,来达到加速访问的目的。注意: Redis
仅支持 Linux 系统,如果你是Windows系统,可考虑其他软件。
介绍
Redis是一个高性能的key-value数据库。
- 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- 支持数据的备份,即master-slave模式的数据备份。
安装
如果是宝塔面板 的话后台软件管理页面直接有,可以一键安装。 现在PHP设置里安装Redis扩展
软件商店安装插件,安装完成后无需设置
安装typecho插件
项目地址: TpCache
上传到 usr/plugins
注意修改文件夹名称,即去掉 -master
后缀,后台启用插件。
设置插件
- 需要缓存的页面:全选除
Feed
- 是否对已登录用户失效:
开启
- 是否支持SSL:根据实际情况选择
- 缓存驱动:
Redis
- 缓存过期时间:
86400
- 主机地址:
127.0.0.1
- 端口号:
6379
- 是否开启debug:
关闭
- 清除所有数据:
关闭
效果
目前200并发值CPU占用15%左右,效果提升还是很明显的。
BUG
- 文章阅读次数也被缓存,导致统计不到,一直是同一个次数。
- 原生评论访客评论后也会留下缓存信息,即下一个访客会显示上一个访客留下的姓名邮箱信息。
解决方案
- 使用第三方页面次数统计服务
- 使用第三方评论系统
创作不易,转载请 注明来源
本文共 468 个字数,平均阅读时长 ≈ 2分钟