wordpress功能很强大,但是性能确实比较慢,于是想着安装一些缓存插件来实现加入功能,自己又熟悉redis,就想搜下有没redis相关的缓存插件。谷歌一搜还找到一个Redis Object Cache,看了使用人蛮多的,应该也靠谱,就用它试试吧。
自己安装了一下,步骤还是蛮简单的,但是在安装要先检查下环境是否符合,如果不符合就不用折腾了。
检查环境
要用redis来缓存的话,首先需要有redis服务可以用,其次确保php要有redis连接扩展,这个插件支持Predis、HHVM’s Redis和PECL Redis Extension。通常情况下,一般的虚拟主机都无法做到,只有单独申请的vps可以,如果需要帮忙可以找我。
下载和安装插件
Redis Object Cache插件地址:https://wordpress.org/plugins/redis-cache/
前往官网下载插件,下载完毕后解压插件,放到wp-content/plugins/目录下。
打开后台插件管理,启动相应的插件。
插件设置
点击settings进入设置页面。出现如下问题:
这边点击Enable Object Cache按钮会出现wordpress要求输入ftp账号和密码的表单,这里不用这么复杂,可以直接把
/wp-content/plugins/redis-cache/includes/object-cache.php 文件复制到 /wp-content/目录下
碰到一个语法问题:
Fatal error: Access level to Servers_List::display_tablenav() must be public (as in class WP_List_Table) in /Users/chenjiebin/Sites/mysites/blog2/src/wp-content/plugins/redis-cache/includes/servers-list.php on line 124
修改相应的代码文件
1
2
3
4
5
6
7
8
9
10
11
|
protected function display_tablenav( $which ) { // hide table navigation } // protected修改成public就可以了。 public function display_tablenav( $which ) { // hide table navigation } |
成功后的页面
另外设置Redis的IP和端口
这个插件默认连接redis是127.0.0.1:6379,如果需要自定义需要在wp-config.php增加:
1
2
3
4
5
6
|
/** * redis object cache配置 */ define( 'WP_REDIS_HOST' , '192.168.1.119' ); define( 'WP_REDIS_PORT' , '8637' ); define( 'WP_REDIS_DATABASE' , '10' ); |
更多参数参考官方文档。
使用体验
使用redis后加速效果很明显,首页响应提高了5~6倍左右,不过有一个缺点:后台在编辑文章提交的时候速度会变得慢很多,估计是更新文章的时候同步更新redis缓存了。