Redis Object Cache对多个WordPress站点缓存
- Wordpress
- 11天前
- 31热度
- 0评论
1、安装插件
安装插件很简单,直接在网站后台搜索:Redis Object Cache 即可,这里要注意的是如果你的服务器之前有网站已经安装了,现在给服务器的另一个网站安装时会出现网站无法访问的问题,这是因为redis没有重新配置采取默认安装的原因,下文会讲到。
插件安装配置教程:
https://github.com/rhubarbgroup/redis-cache/blob/develop/INSTALL.md
2、多站点的配置
wp-config.php配置文件是我们经常修改的一个文件。本站发过很多再wp-config.php文件中添加或删除各种功能的代码。
此种方式适合已经创建的站点,不适合再操作数据库的情况。
此方式来源于官方文档:
https://github.com/rhubarbgroup/redis-cache/wiki/Connection-Parameters
默认情况下,对象缓存插件将通过 TCP 连接到 Redis 127.0.0.1:6379并选择 database 0库。
要调整连接参数,可以在wp-config.php文件中定义以下任何常量。(最好放在配置文件的最顶端)
如下示例:
define( 'WP_REDIS_HOST', '127.0.0.1' ); define( 'WP_REDIS_PORT', 6379 ); // define( 'WP_REDIS_PASSWORD', 'secret' ); define( 'WP_REDIS_TIMEOUT', 1 ); define( 'WP_REDIS_READ_TIMEOUT', 1 ); // change the database for each site to avoid cache collisions define( 'WP_REDIS_DATABASE', 0 ); // supported clients: `phpredis`, `credis`, `predis` and `hhvm` // define( 'WP_REDIS_CLIENT', 'phpredis' ); // automatically delete cache keys after 7 days // define( 'WP_REDIS_MAXTTL', 60 * 60 * 24 * 7 ); // bypass the object cache, useful for debugging // define( 'WP_REDIS_DISABLED', true );
其中define( 'WP_REDIS_DATABASE’, 0 );这里后面的数值0就是更改redis库的参数。redis默认是16个库,各个站设为不同值即可,比如改成1或者2、3、4、5、6等等。最多可以配置16个database,只要database不同即可,也就不会出现不同网站缓存时导致网站无法访问的问题。
其他设置项的解释
WP_REDIS_SCHEME(默认值:tcp) 指定用于与 Redis 实例通信的协议。在内部,客户端使用与指定连接方案关联的连接类。支持tcp(TCP/IP)、unix(UNIX 域套接字)、tls(传输层安全)或http(通过 Webdis 的 HTTP 协议)。 WP_REDIS_HOST(默认值:127.0.0.1) 目标服务器的 IP 或主机名。当使用 UNIX 域套接字连接到 Redis 时,这将被忽略。 WP_REDIS_PORT(默认值:6379) 目标服务器的 TCP/IP 端口。当使用 UNIX 域套接字连接到 Redis 时,这将被忽略。 WP_REDIS_PATH(默认:未设置) 使用 UNIX 域套接字连接到 Redis 时使用的 UNIX 域套接字文件的路径。 WP_REDIS_DATABASE(默认值:0) 接受用于通过SELECT命令自动选择逻辑数据库的数值。 WP_REDIS_PASSWORD(默认:未设置) 接受一个值,该值用于通过AUTH命令向受密码保护的 Redis 服务器进行身份验证。 要使用 Redis 6 的 ACL,请将其设置为['username', 'password']数组(需要 PhpRedis 5.3+)。 WP_REDIS_TIMEOUT(默认值:5) 在失败之前尝试初始连接到 Redis 服务器的时间(以秒为单位)(允许几分之一秒)。 WP_REDIS_READ_TIMEOUT(默认值:5) 在失败之前尝试从 Redis 服务器读取的时间(以秒为单位)(允许几分之一秒)。 WP_REDIS_RETRY_INTERVAL(默认:未设置) 重试失败的连接尝试的时间(以毫秒为单位)。