对象缓存插件

WP Super Cache与Redis Object Cache的区别,个人理解,WP Super Cache用于缓存前端,Redis Object Cache用于缓存后端数据库,实测可大幅度减少数据库查询次数。

启用插件前需要为PHP安装redis扩展,以常用的宝塔面板为例:

软件商店 → 已安装,找到当前使用的PHP版本,点击“设置” → 安装扩展,找到redis安装。

如果服务器上有多个WordPress 站点,并同时安装启用Redis Object Cache会造成多个站点间数据混乱。

解决办法:不同的网站使用不同MySQL数据库前缀,而不是默认的“wp_”。

但上面的方法仅针对新建站点,已运行的有点转换不太容易。

最简单的解决办法:

在不同的站点的配置文件wp-config.php中添加:

define( 'WP_REDIS_PREFIX', '你的域名' );

让 Redis 区分服务器上不同域名的缓存,更标准的写法例如:zmingcx_

完整的 Redis配置:

/** Redis Object Cache 配置 */
define( 'WP_REDIS_HOST', '127.0.0.1' );
define( 'WP_REDIS_PORT', 6379 );

// 为每个站点修改前缀和数据库编号,避免缓存数据冲突
define( 'WP_REDIS_PREFIX', 'zmingcx_' );
define( 'WP_REDIS_DATABASE', 1 ); // 取值范围0-15,多站点需设置不同数值

// 合理的连接超时时间及读写超时时间
define( 'WP_REDIS_TIMEOUT', 1 );
define( 'WP_REDIS_READ_TIMEOUT', 1 );

其中:

define( 'WP_REDIS_PREFIX', 'zmingcx_' );
define( 'WP_REDIS_DATABASE', 1 ); // 取值范围0-15,多站点需设置不同数值

如果主机上有多个站点,分别设置后面的值,只要不一样就行。

更多参考:

FAQ & Troubleshooting

How to boost WordPress Performance with Redis

Blog site login always redirect to main site login