philipnewcomer/persistent-transients

WordPress 的持久化临时数据

1.0.1 2017-01-25 20:31 UTC

This package is auto-updated.

Last update: 2024-09-21 20:20:48 UTC


README

此库存在是为了解决一个非常具体的用例:当你需要确保直到它们的过期时间戳存在为止的临时数据。

在大多数情况下,你应该使用正常的 临时数据。除非有很好的理由,否则不要使用此库。

背景

WordPress 临时数据不能保证一直持续到它们的过期时间戳。有许多事情,包括核心更新或完整的内存对象缓存,都可能导致在预期到期之前删除临时数据。

然而,有时你可能需要存储一些临时数据,这些数据不能像通常的临时数据那样重新生成,并且必须保证在到期之前都可用。这种用例的一个例子是电子邮件确认链接,使用 uniqid() 生成一个唯一的键。这些数据不能重新生成,必须保证在数据库中持续到它们的过期时间戳。

使用自定义帖子类型或自定义数据库表可能对此类事情来说是过度的,这正是此库发挥作用的地方。

此库的功能

持久化临时数据将临时数据存储在 WordPress 选项表中。已过期的临时数据每天收集一次。因为它不使用常规的 WordPress 临时数据系统,也不存储在内存对象缓存中,所以这些临时数据不会受到可能使正常临时数据提前过期的任何因素的影响。

用法

持久化临时数据为常规 WordPress 临时函数提供了三个替代方案:setgetdelete

PersistentTransients\set( $transient, $value, $expiration );
  • $transient (字符串) 缓存数据的唯一标识符。
  • $value (数组|对象) 要保存的数据。
  • $expiration (整数) 保持数据的时间(秒)。

保存持久化临时数据。如果存在具有相同名称的现有临时数据,则会覆盖它。

PersistentTransients\get( $transient );
  • $transient (字符串) 缓存数据的唯一标识符。

返回临时数据的值,如果已过期或不存在,则返回 false

PersistentTransients\delete( $transient );
  • $transient (字符串) 缓存数据的唯一标识符。

删除临时数据。如果你想在临时数据到期之前将其删除,请使用此功能。

安装

这是一个 Composer 包,而不是传统的 WordPress 插件。通过 Composer 安装