WordPress使用Redis多站数据共存

经常使用WordPress并且多个站点的用户,使用redis缓存数据库时应该都遇到过多个站数据冲突的问题。

此问题官方有很多种处理方法。下面说下多站同时使用redis常用的几个方式。

1.创建WordPress站点时修改数据库前缀

图片[1]-WordPress使用Redis多站数据共存-皓月星辰

我们WordPress在安装时有一步时创建数据库,其中默认数据库前缀是:wp_

我们可以随便更改一下字符比如改为xxx_

这样数据在缓存时各个库之间就不会出现数据冲突的问题了。这也是最建议的方式,我们以后创建站点建议都更改掉默认的数据库前缀。

2.在wp-config.php配置文件中修改相关常量

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_DATABASE’, 0 );这里后面的数值0就是更改redis库的参数。redis默认是16个库,各个站设为不同值即可,比如改成1或者2、3、4、5、6等等。

其他设置项的解释(来自谷歌翻译):

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(默认:未设置)
重试失败的连接尝试的时间(以毫秒为单位)。

3.更改redis缓存插件配置文件

图片[2]-WordPress使用Redis多站数据共存-皓月星辰

这里以Redis Object Cache缓存插件为例。

此插件在服务器上得文件目录为/wp-content/plugins/redis-cache/

在其includes目录下有个object-cache.php文件,修改它即可。

图片[3]-WordPress使用Redis多站数据共存-皓月星辰

大致在546行,更改database值即可,默认值为0

保存文件后重新启动Redis Object Cache缓存插件。

温馨提示: 本文最后更新于2024-09-10 22:24:32,某些文章具有时效性,若有解压密错误或链接已失效,请在下方留言或在微信公众号留言
获取解压密码方式:
搜索并关注公众号【资源星球ResourceStar】
回复关键字【皓月星辰】即可免费获取
© 版权声明
THE END
喜欢就支持一下吧
点赞96 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容