服务器环境
DigitalOcean VPS , CentOS 7 + LNMP
WordPress 已经有众多加速插件, 效果都还不错. 大多采用生成静态页面文件的方式. 对数据库的加速能力有限.
Redis 是一种内存数据库, 用它为 mysql 做缓存, 可有效加速数据库查询速度.
在使用 Redis 之前要先安装 Redis 和 php redis 扩展
1 2 3 |
yum install redis php-pecl-redis systemctl enable redis systemctl start redis |
配置 redis
1 |
nano /etc/redis.conf |
找到 maxmemory 和 maxmemory-policy 项, 修改如下
1 2 3 |
#最大使用多少内存,因blog的数据量不多,所以这里设置为32M内存. maxmemory 32mb maxmemory-policy allkeys-lru |
保存退出, 重启 redis 和 php-fpm 服务.
1 2 |
systemctl restart redis systemctl restart php-fpm |
使用 Redis-Object-Cache
Redis-Object-Cache 是一个开源的 wordpress 插件项目, 它使用 php redis 扩展调用 reids.
下载 Redis-Object-Cache 项目源码, 将项目中的 object-cache.php 文件上传到 wordpress 的 wp-content 目录中
1 |
cp object-cache.php /usr/share/nginx/html/wordpress/wp-content/ |
编辑此文件, 找到 WP_CACHE_KEY_SALT
定义, 加入自己的 key, 当多个应用使用同一 redis 服务时, 这个 key 可以区分不同的应用.
1 |
nano /usr/share/nginx/html/wordpress/wp-content/object-cache.php |
1 2 3 |
if ( ! defined( 'WP_CACHE_KEY_SALT' ) ) { define( 'WP_CACHE_KEY_SALT', '在这里输入自己的key' ); } |
保存退出.
到此, wordpress 的 redis 缓存就配置好了.
使用 redis-cli monitor 可查看 redis 的即时访问情况.
1 |
redis-cli monitor |
我使用这个方法不知道为什么没有缓存进去,大神能教下吗
它不是主动缓存, 要在blog被访问且查询数据库时才会缓存. 你在查看redis 的时候用浏览器打开blog, 点开文章什么的就会看到缓存记录了.
哪如何查看第二次刷新页面读取的是缓存还是数据库
redis-cli monitor
可以看到redis实时的读写状态.