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/目录下。
wordpress插件目录
打开后台插件管理,启动相应的插件。
wordpress启用插件
插件设置
点击settings进入设置页面。出现如下问题:
wordpress设置redis object cache
这边点击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} |
成功后的页面
wordpress redis object cache成功页面
另外设置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缓存了。