贝斯克雷朋

对于涉及高流量、登录用户速度或动态页面加载的站点,必须使用高速持久的对象缓存。您还需要能够跨应用程序的多个实例进行扩展的东西,因此不需要使用本地文件缓存或APC。

Redis是一个很好的答案,也是我们捆绑在万神殿平台上的一个答案。这是我们用于与缓存集成的插件,但如果您有Redis,则可以在任何自托管WordPress站点上使用它。从安装WordPress.org网站github

需要注意的是,持久对象缓存并不是万能药——一个包含2000个Redis调用的页面加载可能需要2整秒的对象缓存事务。确保明智地使用对象缓存:保留合理数量的键,不要在每个键上存储大量数据,避免前端写入和删除。

出去,做得棒极了!而且,一旦你建立了一些伟大的东西,向我们发送功能请求(或错误报告)。查看维基有用的代码片段和其他提示

WP-CLI命令

这个插件实现了多种WP-CLI公司命令。所有命令都分组到wp-redis公司命名空间。

$wp帮助redis名称wp-redis公司简介wp-redis<命令>子命令cli使用WordPress的redis配置启动redis-cli调试任何页面URL的调试对象缓存命中/未命中比率。通过为object-cache.php创建符号链接来启用enable WP Redisinfo提供Redis连接的详细信息。

使用wp帮助redis<命令>以了解有关每个命令的更多信息。

贡献

请参见贡献.md获取有关贡献的信息。

安装

Dies setzt voraus,dass eine PHP-Umgebung mit der公司forderlichen PhpRedis-Erweiterung公司und einem funktionierendenden Redis-Server(z.B.万神殿)eingesetzt wird。WP Redis arbeitet auch mit Predisüber公司人造/wp-redis-predis-客户端苏珊曼。

  1. 安装对象缓存.phpwp-content/object-cache.php使用符号链接或复制文件。
  2. 如果您没有在万神殿上运行,请编辑wp-config.php以添加缓存凭据,例如:

    $redis_server=数组(“主机”=>“127.0.0.1”,“端口”=>6379,“授权”=>“12345”,“database”=>0,//可选使用特定的数字Redis数据库。默认值为0。);
  3. 如果Redis服务器正在通过socket文件进行侦听,请将其路径设置为主办参数并将端口更改为无效的:

    $redis_server=数组(“主机”=>“/path/of/redis/socket-file.sock”,'port'=>空,“授权”=>“12345”,“database”=>0,//可选使用特定的数字Redis数据库。默认值为0。);
  4. 启动推进器:你现在用Redis支持WP的对象缓存。

  5. (可选)要使用wp-redis公司WP-CLI命令,激活WP Redis插件。如果只使用对象缓存下拉列表,则无需激活。
  6. (可选)要将同一Redis服务器用于多个离散的WordPress安装,可以使用WP_飞机_钥匙_高度常数为每个安装定义唯一的salt。
  7. (可选)要使用真正的缓存组,并能够删除给定组的所有键,请使用wp_cache_add_redis_hash_groups(),或定义WP_REDIS_USE_CACHE_GROUPS组常数为真的对所有组启用。但是,如果启用,则不会考虑过期值,因为组密钥过期不是一项功能Redis支持
  8. (可选)在以前使用WordPress临时缓存的现有站点上,使用WP-CLI删除所有(%_瞬变_%)选项表中的瞬态:wp暂时删除全部.WP Redis负责临时缓存。
  9. (可选)使用继电器客户端定义了WP_REDIS_USE_继电器常数为真的。对于支持请求,请使用Relay的GitHub讨论

常见问题解答

为什么我要使用这个插件?

如果您关心站点的速度,那么使用高性能的持久对象缓存对其进行备份可能会产生巨大影响。它可以减轻数据库的负载,并且可以更快地加载WordPress需要运行的所有数据对象。

这是如何与其他缓存插件一起工作的?

此插件用于内部应用程序对象缓存。它与页面缓存无关。在Pantheon上,您不需要额外的页面缓存,但如果您是自托管的,您可以将您喜欢的页面缓存插件与WP-Redis结合使用。

如何禁用坏参与者的持久对象缓存?

带有2000个Redis调用的页面加载可以是2个完整的对象缓存事务seonds。如果您使用的插件错误地创建了大量缓存键,您可以通过禁用插件组的缓存持久性来缓解此问题:

wp_cache_add_non_persistent_groups(数组(“bad-actor”));

本声明意味着使用wp_cache_set('foo','bar','bad-actor');wp_cache_get('foo','bad-actor');不会使用Redis,而是返回到WordPress的默认运行时对象缓存。

Objekt-Cache manchmal nicht mehr mit der Datenbank同步器的热度?

WordPress缓存设计中的Es gibt ein bekanntes问题分配.在斯宾德雷·坎恩·艾内的比赛条件下,兹维申·兹维安福多伦根·达祖·福伦(zwischen zwei Anforderungen dazu führen),目标-缓存-veraltete Werte aufweist。Wenn du der Meinung bist,davon betroffen zu sein,überprüfe死于GitHub问题auf链接zu weiteren Zusammenhängen,einschließlich einer Problemumgehung。

我应该在哪里报告这个插件中发现的安全漏洞?

请通过补丁堆栈漏洞披露程序Patchstack团队将协助您进行验证、CVE分配,并通知开发人员此插件。

雷森西宁

2024年1月15日 2龙蒿
很棒的免费Redis插件,甚至不需要安装。只需安装object-cache.php并将其复制到wp-content。然后添加wp-config设置(在服务器上安装redis之后),就可以了。检查仪表板上的WP健康状况。感谢开发者!
16.2023年10月
很棒的插件。我现在将其作为后端Redis缓存进行评估。然而,安装过程并不简单明了。我希望它是自动的。但是,手动安装需要手动复制文件。如果在自托管安装上运行多个WordPress站点,还必须确保编辑object-cache.php文件并添加缓存salt键,否则会出现错误。一旦这些问题得到解决,它似乎运行良好。优秀插件为4星-1表示安装困难。我希望它更直截了当。
2023年1月24日
祝贺这个免费扩展的开发人员,它在不浪费时间的情况下工作得很好,这是一个具有40个扩展的客户端站点的后台性能提升示例。10秒->1秒继续,伙计们😉
2021年4月29日
它工作得很好!,这个插件与“Redis Object Cache”有何不同,因为您没有为插件提供高级订阅?基于drop-in,无需激活插件,只需遵循GIT指令即可。目前在我的测试登台环境中。
Alle 18 Rezensionen lesen公司

Mitwirkende&Entwickler公司

“WP Redis”是开放源码软件。Folgende Menschen haben an diesem Plugin mitgewirkt:

米特威肯德

阿尔·安德伦斯波托科尔

1.4.4(2023年11月27日)

  • 将万神殿WP编码标准更新为2.0[#445]
  • 处理中的重复密钥获取多个函数[#448](souptik道具)

1.4.3(2023年6月26日)

  • 错误修复:修复了CACHE_PORT和CACHE_PASSWORD已设置的假设。[428](支柱@tnolte)
  • 添加WP.org验证GitHub操作[#435]
  • 错误修复:修复错误的顺序数组替换_草书和其他问题[434](props@timnolte)
  • 错误修复:替换object-cache.php中wp_strip_all_tags的使用[434](props@timnolte)
  • 错误修复:不要从缓存密码中删除标签。[434](props@timnolte)

1.4.2(2023年5月15日)

  • 错误修复:删除由以下原因导致的异常循环esc_html在里面_exception_handler()[421]

1.4.1(2023年5月11日)

  • 错误修复:wp_cache_flush_运行时只应清除本地缓存[413]

1.4.0(2023年5月9日)

  • 添加对的支持刷新时间flush_group(刷新组)功能[#405]
  • 添加万神殿-wp-编码标准[#400]
  • 更新贡献。医学博士[#406]
  • 更新Composer依赖项[#401]

1.3.5(2023年4月6日)

  • 在6.2版之前进行了通气测试
  • 更新Composer依赖项[#394]

1.3.4(2023年3月7日)

  • 设置丢失_发布_消息如果Redis服务未连接[#391].

1.3.3(2023年2月28日)

  • 添加PHP 8.2支持[#388].
  • 删除Grunt,将有效许可证添加到Composer文件[#387].
  • 更新Composer依赖项[#384] [#385].

1.3.2(2022年12月5日)

  • 修复损坏的wp缓存支持功能[#382].

1.3.1(2022年12月2日)

  • 声明wp缓存支持功能和支持功能。[#378]
  • 制定相关目标发展PR分支。[#376]

1.3.0(2022年11月29日)

  • 添加了贡献。MD和GitHub采取行动,将部署自动化到wp.org[#368]

1.2.0(2022年2月17日)

  • 通过添加对继电器的支持WP_REDIS_USE_继电器常数[#344].

1.1.4(2021年10月21日)

  • 修复了中的一些错误逻辑WP_REDIS_IGNORE_GLOBAL_GROUPS(全局分组)检查[#333].

1.1.3(2021年10月21日)

  • 支持WP_REDIS_IGNORE_GLOBAL_组常量,以防止将组添加到全局缓存组[#331].

1.1.2(2021年3月24日)

  • 应用其他地方使用的逻辑以回退到$_服务器在里面wp_redis_get_info()[#316].

1.1.1(2020年8月17日)

  • 使用时按正确顺序返回缓存数据wp_cache_get_multiple()内部缓存已准备就绪[#292].

1.1.0(2020年7月13日)

  • 机具wp_cache_get_multiple()用于WordPress 5.5[#287].
  • 连接Redis时提早退出抛出异常以避免致命错误[285].

1.0.1(2020年4月14日)

  • 添加了对从环境/服务器变量指定Redis数据库编号的支持[#273].

1.0.0(2020年3月2日)

  • 插件稳定。

0.8.3(2020年2月24日)

  • 修复wp-redis客户端通过使用proc_open()直接,而不是WP_CLI::启动()[#268个].

0.8.2(2020年1月15日)

  • 尝试连接Redis时捕获异常[#265].

0.8.1(2020年1月10日)

  • 添加WP_REDIS_DEFAULT_EXPIRE_秒常量以设置默认缓存过期值[#264].

0.8.0(2020年1月6日)

  • 使用冲洗数据库而不是flushAll(全部刷新)避免刷新整个Redis实例[#259].

0.7.1(2018年12月14日)

  • 更好地支持wp_cache_init()用于LudicrousDB等嵌入式应用程序[#231].
  • 清理PHPCS问题。

0.7.0(2017年8月22日)

0.6.2(2017年6月5日)

  • 错误修复:在内部缓存中保留空值。
  • 错误修复:获取时将数值转换为其真实类型。

0.6.1(2017年2月23日)

  • 错误修复:将空密码正确传递给redis-cli公司
  • 测试套件的各种改进。

0.6.0(2016年9月21日)

  • 引入三个新的WP-CLI命令:wp-redis调试显示任何URL的缓存命中/未命中比率;wp-redis信息显示高级Redis统计信息;wp-redis启用创建对象缓存.php符号链接。
  • 允许使用定义Redis数据库$redis_server[“数据库”]
  • 介绍wp_cache_add_redis_hash_groups(),它允许注册特定组以使用Redis哈希,并且比我们现有的更精确WP_REDIS_USE_CACHE_GROUPS组常数。

0.5.0(2016年4月27日)

  • 性能提升!删除冗余存在呼叫来自wp_cache_get()这很容易使Redis调用数减半。
  • 使用添加操作()$wpdb以一种更安全的方式与Batcache兼容,它在上述API可用之前加载对象缓存。
  • 出于调试目的,跟踪对Redis的调用数,并包括调用类型的细分。
  • 针对现有功能添加了大量更明确的测试覆盖率。
  • 为了与实际Redis调用保持一致,调用德尔而不是删除
  • 错误修复:如果一个组没有持久性,请不要创建存在呼叫Redis。

0.4.0(2016年3月23日)

  • 介绍wp-redis-cli公司,一个WP-CLI命令,用于使用WordPress的redis凭据启动redis-CLI。
  • 错误修复:通过写入站点元表而不是活动站点的选项表,确保故障回复机制在多站点上按预期工作。
  • 错误修复:使用“default”作为默认缓存组,镜像WordPress核心,例如$wp_object_cache->add('foo','bar')===wp_cache_add('foo','bar')

0.3.0(2016年2月11日)

  • 引入对Redis缓存组的opt-in支持。使用启用定义(“WP_REDIS_USE_CACHE_GROUPS”,true);。启用时,WP Redis以结构化的方式持久化缓存组,而不是将缓存密钥和组散列在一起。
  • 使用PHP_CodeSniffer和WordPress编码标准嗅探确保WP Redis遵守WordPress编码标准。
  • 错误修复:允许在中使用Unix套接字$redis_server[“主机”]通过确保提供$端口为null。

0.2.2(2015年11月24日)

  • 错误修复:使用将IGNORE插入而不是插入以防止两个并发进程试图同时写入故障回复标志时出现SQL错误。
  • 错误修复:使用_用户_警告具有触发器错误()
  • 错误修复:捕获身份验证期间抛出的异常,以允许故障回复到内部对象缓存。

0.2.1(2015年11月17日)

  • 错误修复:防止出现SQL错误$wpdb->选项尚未在多站点上初始化。

0.2.0(2015年11月17日)

  • 当Redis不可用或间歇时,优雅地故障回复到WordPress对象缓存。此前,WP Redis将是致命的。
  • 如果Redis退出中间请求,则触发PHP错误,以便您在日志中进行监视。根据特定的错误消息尝试一次重新连接。
  • 当Redis失败后返回时,在Redis上强制flushAll。可以使用禁用此行为WP_REDIS_DISABLE_FAILBACK刷新常数。
  • 当Redis不可用但预计不可用时,显示管理通知。

0.1

  • 为所有人的利益首次提交工作代码。