为你的Typecho加上Redis缓存,加速访问

Typecho虽然轻量,但终究仍是PHP动态脚本。

访问时需要频繁调取数据库的信息,导致并发值一高,CPU就100%占用,无法处理新的请求信息。

这时,我们可以用Redis来设置缓存,从而不用频繁调动数据库,来达到加速访问的目的。

注意:Redis仅支持Linux系统,如果你是Windows系统,可考虑其他软件。

# 介绍

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

- 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

- 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

- 支持数据的备份,即master-slave模式的数据备份。

# 安装

如果是[宝塔面板](https://www.bt.cn/?invite_code=MV9pcGtxb3E=)的话后台软件管理页面直接有,可以一键安装。

我选的就是此种方法,简单方便

以下是手动安装:

## 安装Redis

根据[官网页面](https://redis.io/download)提示操作下载安装即可。

``` shell

wget http://download.redis.io/releases/redis-5.0.5.tar.gz

tar xzf redis-5.0.5.tar.gz

cd redis-5.0.5

make

```

## 安装php-Redis扩展

Github项目说明:https://github.com/phpredis/phpredis/blob/develop/INSTALL.markdown

``` shell

pecl install redis

```

最后打开PHPINFO页面查看Redis扩展是否安装成功。

## 安装插件 TpCache

项目地址:https://github.com/phpgao/TpCache

备份下载:https://cloud.foxl.cn/s/nau3r6po

感谢作者老高的插件!

直接上传到插件目录解压,注意修改文件夹名称,即去掉-master后缀。

# 使用

插件页面配置:

- 需要缓存的页面 全选除Feed

- 是否对已登录用户失效 开启

- 是否支持SSL 根据实际情况选择

- 缓存驱动 Redis

- 缓存过期时间 86400

- 主机地址 127.0.0.1

- 端口号 6379

- 是否开启debug 关闭

- 清除所有数据 关闭

# 效果

目前200并发值CPU占用15%左右,效果提升还是很明显的。

# BUG

这个就是目前方案的最大问题了。

1. 文章阅读次数也被缓存,导致统计不到,一直是同一个次数。

2. 原生评论访客评论后也会留下缓存信息,即下一个访客会显示上一个访客留下的姓名邮箱信息。

# 曲线解决

1. 使用第三方页面次数统计服务

2. 使用第三方评论系统

你可能感兴趣的:(为你的Typecho加上Redis缓存,加速访问)