Redis: Scan Command Cleanup
Two contributors focused on the scan command family today, fixing a long-standing score formatting inconsistency in ZSCAN and trimming unnecessary allocations, while a third patch cleaned up confusing empty-result output in redis-cli's key stats tool.
Duration: PT2M30S
Episode overview
This episode is a short developer briefing from Redis.
It explains recent repository work in plain language.
- Show: Redis
- Published: 2026-09-19T13:12:14Z
- Audio duration: PT2M30S
Transcript excerpt
This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.
Good day, and welcome to Redis, your developer briefing for September 19th, 2026.
Today's activity centers on one theme: making the scan command family more correct and more efficient.
The clearest fix comes from PR 15821. For years, ZSCAN on a skiplist-encoded sorted set could return a different score string than ZSCORE for the exact same member — something like 3.2999999999999998 instead of 3.3. The root cause traces back to a 7.2 change, referenced in issue 10587, that moved score formatting to…
The same author followed up with PR 15822, a performance pass on the same code path. Skiplist ZSCAN was allocating temporary copies of each member and score before replying. This change collects existing node pointers and writes replies directly, cutting two allocations and a vector entry per member. Reported median…
The third change, PR 15823, addresses redis-cli's keystats tool. Previously, an empty database or a pattern with no matches produced blank, confusing statistics sections. Now the tool prints a clear message — "The database is empty" — and skips the scan entirely when appropriate. It also distinguishes between full,…
What's next: watch for these ZSCAN changes landing together,…
Nearby episodes from Redis
- Security Patches Ship Across Five Release Lines
- Data Correctness Fixes Across Streams, Sorted Sets, and Scripting
- Security Patches Roll Backward Across Four Release Lines
- Trust Boundaries Get Tighter
- Checksum Performance and a Version Bump Cluster
- Weekly Recap - Correctness Fixes and Read-Path Performance
- Hardening Under Concurrency
- Hardening Persistence and Trimming Clock Overhead