tillkruss/redis-object-cache

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

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

安装次数: 4,830

依赖项: 0

建议者: 0

安全: 0

星星: 430

关注者: 24

分支: 149

开放问题: 8

类型:wordpress-plugin


README

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

Redis Object Cache screenshots

对象缓存 Pro

一个 商业级 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 是一个下一代缓存,它在 PHP 的内存中保留 Redis 数据集的部分副本,以实现极快的查找,尤其是在 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',
] );
分片

这是使用 RedisArray 的 PhpRedis 特定功能。

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对象缓存之间存在任何赞助、认可或关联。