A Redis hash groups individually addressable fields under one key.

A Redis hash stores many fields in one key

A Redis hash is a field-addressable record under one key, not a schema-checked object or an automatically nested document. It is useful when callers need a few attributes without replacing the whole record. That advantage depends on access patterns, field sizes, and the meaning of replies, not merely on choosing the hash type. ...

February 24, 2028 · 6 min · XB Field Notes
Live broadcast and retained replay have different delivery and recovery requirements.

Redis pub/sub and streams are different tools

Redis Pub/Sub and Streams answer different delivery questions. Pub/Sub broadcasts to currently active subscriptions without retaining messages for later replay. A stream stores entries that readers can revisit while they remain retained. Choosing between them starts with who must receive an event and what should happen during a consumer’s absence. ...

February 6, 2028 · 6 min · XB Field Notes
A stream distributes new work through a consumer group and tracks pending entries for explicit recovery.

Redis Streams let a group share the work

A Redis Streams consumer group distributes new entries among named consumers and records deliveries awaiting acknowledgement. It does not guarantee exactly-once effects, prevent retention loss, or recover abandoned work by itself. Understanding the group position, pending entries, and retained stream data separately is essential before treating it as a work queue. ...

February 5, 2028 · 7 min · XB Field Notes
A spatial index that answers radius and range questions quickly.

Redis geo handles locations by distance

Redis geospatial commands index named locations and answer nearby-point queries without returning every coordinate to the application. They are useful when spherical distance is an acceptable model. They do not provide road routes, altitude-aware separation, arbitrary polygon analysis, or a guarantee that every returned location is still current. ...

January 25, 2028 · 6 min · XB Field Notes
Compare Redis batch sizes using measured completion time and validated results.

Pipelining folds many Redis round trips into one

Pipelining reduces the waits between sending Redis commands, but its benefit must be measured for a particular workload. A remote synchronous loop may mostly wait for network latency; a local loop may spend more time in the client, scheduling, and socket I/O. Neither case justifies a universal promise of several-fold improvement. ...

January 20, 2028 · 6 min · XB Field Notes
A bounded Redis Lua script combines reads and writes without interleaving, but not with automatic rollback.

Redis Lua scripts run without interleaving

A Redis Lua script can read data, make a decision, and update it without another client’s command interleaving between those steps. It does not mean every statement succeeds, that earlier writes are undone after an error, or that the result is automatically durable. ...

January 11, 2028 · 7 min · XB Field Notes
Two orderings, one by insertion and one by score.

A Redis list and a sorted set solve different problems

A Redis list stores an ordered sequence that permits repeated values. A sorted set stores unique members ordered by numeric scores. The useful distinction is not that one is universally faster or cheaper: it is whether the application needs positional sequence operations, unique membership, score ranges, or a combination requiring a different data model. ...

January 4, 2028 · 6 min · XB Field Notes
Two distinct mechanisms: a scheduled deadline and a capacity-triggered purge.

Redis expiry is a deadline, eviction is a capacity policy

Expiration and eviction can both turn a successful lookup into a miss, but they answer different questions. Expiration follows a key’s deadline. Eviction removes eligible keys to respond to memory pressure. Extending a TTL cannot prevent capacity-driven eviction, and increasing memory cannot correct a deadline that the application set incorrectly. ...

December 26, 2027 · 6 min · XB Field Notes