tillkruss/redis-cache

此软件包已被弃用且不再维护。作者建议使用 rhubarbgroup/redis-cache 软件包。

WordPress 的 Redis 持久化对象缓存后端。支持 Predis、PhpRedis、Relay、复制、哨兵、集群和 WP-CLI。

资助软件包维护!
tillkruss
www.paypal.me/tillkruss

安装量: 42,407

依赖项: 2

建议者: 0

安全: 0

星级: 430

关注者: 24

分支: 149

开放问题: 8

类型:wordpress-plugin


README

由 Redis®¹ 驱动的持久化对象缓存后端。支持 PredisPhpRedis (PECL)Relay、复制、哨兵、集群和 WP-CLI

Redis Object Cache screenshots

对象缓存专业版

一款 商业级 Redis®¹ 对象缓存后端。真正可靠、高度优化、完全可定制,并在您最需要时提供专属工程师支持。

  • 为了原始性能而重写
  • 100% 遵守 WordPress API
  • 更快的序列化和压缩
  • 易于调试和日志记录
  • 缓存预取和高级分析
  • 全面单元测试(100% 代码覆盖率)
  • 针对 WooCommerce、Jetpack 和 Yoast SEO 优化
  • 等等...

安装

要开始安装,请参阅 安装说明

常见问题解答和故障排除

有关常见问题的答案以及常见错误的故障排除信息可以在 常见问题解答 中找到。

配置

Redis 对象缓存插件提供了一组丰富的配置选项。如果您不确定如何使用它们,请阅读 安装说明

高级配置选项
不受支持 的配置选项

存在的选项,但 不应该 使用,在未来的版本中可能会未经通知破坏,并且将不会得到我们团队的任何支持

连接

通过 Unix 套接字连接
define( 'WP_REDIS_SCHEME', 'unix' );
define( 'WP_REDIS_PATH', '/var/run/redis.sock' );
通过 TCP+TLS 连接
define( 'WP_REDIS_SCHEME', 'tls' );
define( 'WP_REDIS_HOST', 'master.ncit.ameaqx.use1.cache.amazonaws.com' );
define( 'WP_REDIS_PORT', 6379 );

可以通过使用 WP_REDIS_SSL_CONTEXT 定义额外的 TLS/SSL 流连接选项,以支持连接

define( 'WP_REDIS_SSL_CONTEXT', [
    'verify_peer' => false,
    'verify_peer_name' => false,
]);
使用 ACL 认证连接
define( 'WP_REDIS_PASSWORD', [ 'username', 'password' ] );

扩展性

Redis 对象缓存为具有 Redis 和 PHP 高级技术知识的用户提供了各种复制、分片、集群和哨兵设置,这些用户已查阅了 PredisPhpRedisRelay 文档。

Relay

Relay 是一种下一代缓存,它将 Redis 数据集的部分副本保留在 PHP 的内存中,以实现极快的查找速度,尤其是在 Redis 服务器不在与 WordPress 相同的机器上时。

define( 'WP_REDIS_CLIENT', 'relay' );

define( 'WP_REDIS_HOST', '127.0.0.1' );
define( 'WP_REDIS_PORT', 6379 );

// when using Relay, each WordPress installation
// MUST a dedicated Redis database and unique prefix
define( 'WP_REDIS_DATABASE', 0 );
define( 'WP_REDIS_PREFIX', 'db3:' );

// consume less memory
define( 'WP_REDIS_IGBINARY', true );
复制

https://redis.ac.cn/docs/management/replication/

define( 'WP_REDIS_CLIENT', 'predis' );

define( 'WP_REDIS_SERVERS', [
    'tcp://127.0.0.1:6379?database=5&role=master',
    'tcp://127.0.0.2:6379?database=5&alias=replica-01',
] );
分片

这是一个针对 PhpRedis 的特定功能,使用 RedisArray

define( 'WP_REDIS_CLIENT', 'phpredis' );

define( 'WP_REDIS_SHARDS', [
    'tcp://127.0.0.1:6379?database=10&alias=shard-01',
    'tcp://127.0.0.2:6379?database=10&alias=shard-02',
    'tcp://127.0.0.3:6379?database=10&alias=shard-03',
] );
Redis 哨兵

https://redis.ac.cn/docs/management/sentinel/

define( 'WP_REDIS_CLIENT', 'predis' );

define( 'WP_REDIS_SENTINEL', 'my-sentinel' );
define( 'WP_REDIS_SERVERS', [
    'tcp://127.0.0.1:5380',
    'tcp://127.0.0.2:5381',
    'tcp://127.0.0.3:5382',
] );
Redis 集群

https://redis.ac.cn/docs/management/scaling/

define( 'WP_REDIS_CLIENT', 'phpredis' );

define( 'WP_REDIS_CLUSTER', [
    'tcp://127.0.0.1:6379?alias=node-01',
    'tcp://127.0.0.2:6379?alias=node-02',
    'tcp://127.0.0.3:6379?alias=node-03',
] );

WP CLI 命令

Redis对象缓存具有多种WP CLI命令,更多信息请运行wp help redis

动作与过滤器

Redis对象缓存具有各种钩子,常用的钩子如下所示。

脚注

¹ Redis是Redis Ltd.的注册商标。其中任何权利均保留给Redis Ltd. Redis对象缓存的使用仅用于参考目的,并不表示Redis与Redis对象缓存之间存在任何赞助、认可或关联。