PHP在执行函数最消耗时间的就是查询SQL数据库了,一般来讲一个页面的数据库查询大概在120到260次左右,使用Redis或者Memcached缓存,原理就是将PHP查询过的数据库缓存下来,下一次相同内容就不再查询数据库了,直接从缓存获取,极大的提高php执行效率。WordPress官方采用 Object Cache对象缓存,同时主题的也遵循此机制,配合Redis或者Memcached缓存,能将数据库查询降低80%,有效的提高了渲染速度!Redis和Memcached原理是一样的,我们只需要二选一安装使用即可,优化加速的效果也差不多。我就以宝塔环境安装 Redis为例,进行详细的图文教程。教程一共分为三步:
1.安装PHP的 Redis 扩展宝塔
2.安装 Redis 程序
3.WordPress安装 Redis 缓存插件并开启
安装PHP:Redis扩展
进入宝塔,选择到我们目前在使用的PHP程序(推荐使用PHP7.4),进入安装扩展找到Redis并安装:
等待安装完成之后,记得重启一下php服务:
安装Redis程序
进入宝塔的软件商店,搜索 Redis ,然后安装即可,安装完成之后无需做任何设
安装WP插件
最后一步就是在Wordpress安装 Redis 缓存插件了,支持 Redis 缓存 的插件有很多,我这里以 Redis Object Cache 这款插件为例进行安装
1.直接在插件中心搜索 Redis Object Cache ,安装即可
2.启用插件
3.开启缓存
这个功能十分简单,不要觉得是英文插件有会影响使用,开启之后看到如下界面就说明成功了。如果没有开启成功,请按照上面的步骤检测PHP扩展和Redis程序是否安装成功
重要提醒!
如果您的服务器有多个网站,并且又要使用Redis,那么,一定要为网站设置不同的数据库!不然数据会乱窜
下面是教程:
Redis启动的时候会默认有十几个库给我们使用,最简单的方法就是给每个Wordpress运行Redis的时候选择不同的库,但是大佬推荐的方法没有办法用,所以我打开了redis的设置页面,看看能不能研究到什么东西,我发现有个database :0,这个应该是这个站点运行redis的时候选择了redis 0库
找到这个了后,我想尝试直接从Redis Object Cache插件文件入手,看看能不能直接从文件上通过修改数值让wordpress的redis启动时通过数值选择redis数据存放库。然后我打开了位于wp-content/object-cache.php下的文件,发现了database值,通过修改这边的值,确实可以选择当前站点运行的redis数据存放库,但是修改这里,下次重新启动的时候还是会重新恢复成0
然后我搜了一下,发现在/wp-content/plugins/redis-cache/includes也有个object-cache.php
两个文件一模一样,我通过更改这边文件的 database值,前面的站点我用了0.这个我改成1,然后两个站点就顺利共存了
所以最后的解决方案是:
第一步 打开网站目录到/wp-content/plugins/redis-cache/includes打开文件夹下的object-cache.php文件
第二步 搜索database
第三步 更改database(大概在625行的位置)后面的值,redis库的值从0开始 0 1 2 3 4 5 6….. 第一个站点我设置了0库,第二个我设置1库
第四步 保存文件,然后重新启用Redis Object Cache 就可以共存了
暂无评论内容