diff --git a/CHANGELOG.md b/CHANGELOG.md index ba2799d..d5c29f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,18 +24,22 @@ Released with 2meet-data-optimizer 1.3.0 (hardening 2.3). dev36 (902k listings): two indexes in about 4.7 s; routed `rating_count IN` 2.1 s → 0.36 s, `rating_count !=` 2.1 s → 0.76 s, hourly rate + price sort 2.1 s → 0.65 s. (PR-090) -- With a persistent object cache, transient entries now expire: a timeout - entry when it records, a value after at most a week (`MAX_CACHE_TTL`; - HivePress writes the value before its timeout, and a miss only makes it - rebuild). Entries of deleted posts no longer pile up. (PR-099) +- With a persistent object cache, transient entries now expire: a value after + a week (`MAX_CACHE_TTL`; HivePress writes it before its timeout, and a miss + only makes it rebuild), its timeout a minute after the later of that and its + own time — HivePress reads a missing timeout as "never expires", so the + timeout must go last. Entries of deleted posts no longer pile up. (PR-099, + PR-115) ### Added - Opt-in flattening of a site's own listing attributes: the `tmdo_hp_listing_attribute_fields` filter (`'hp_warranty' => 'integer'`) registers them in an `hp_listing_attrs` group — a new table, each column - indexed at creation — leaving `hp_listing_core` unchanged. Backfill with - `wp tmdo post-migrate-group`. (PR-109) + indexed at creation — leaving `hp_listing_core` unchanged. Types: text, + textarea, integer, decimal, boolean, date, datetime, timestamp, enum. The + group is registered once themes load, so the filter may live in a theme; + core 1.3.0 keeps it native until a drift fix has filled it. (PR-109, PR-115) ### Upgrading @@ -49,9 +53,12 @@ Released with 2meet-data-optimizer 1.3.0 (hardening 2.3). ``` redis-cli --scan --pattern 'wp:tmdo_hp_transient:*' \ | awk '{printf "EXPIRE %s 604800 NX\r\n", $0}' | redis-cli --pipe + redis-cli --scan --pattern 'wp:tmdo_hp_transient:_transient_timeout_*' \ + | awk '{printf "EXPIRE %s 608400 GT\r\n", $0}' | redis-cli --pipe ``` - dev36: 3,013,352 keys in 45 s, 0 errors, Redis latency max 2 ms. The pattern + The second pass makes timeouts outlive their values. dev36: 3,013,352 keys + in 45 s and 1,867,569 timeouts in 32 s, 0 errors, Redis latency max 2 ms. The pattern follows the drop-in's key layout (`::`); check it with `redis-cli --scan --pattern '*tmdo_hp_transient*' | head` first. redis-cli 7 has no `--count` with `--scan`.