PhilippTheServer

redis

Redis as a pipeline substrate: streams, sorted sets, pub/sub and their limits.

  1. Turning Alertmanager Webhooks Into Retained MQTT State

    Alertmanager webhook to MQTT retained messages: clear stale state on resolve with an empty retained payload, keeping current alerts in Redis by fingerprint.

  2. MQTT Persistent Sessions and Retained Messages for Offline Subscribers

    MQTT clean_session=False only persists with a stable client ID, QoS 1 and Mosquitto persistence true. Retained messages give new subscribers the last value.

  3. Migrating Redis Consumers from Python to C++ on Constrained Hardware

    redis-plus-plus xreadgroup times out before its block timeout: set socket_timeout to 0. Replacing idle Python Redis stream consumers with C++.

  4. Sizing Redis maxmemory Against a Stream Trim Threshold

    OOM command not allowed when used memory exceeds maxmemory on XADD MAXLEN: why the stream never trims itself, and why a standalone XTRIM still works.

  5. A Single-Writer Rule for Configuration Held in Redis

    SET NX PX lease plus a Lua script that checks the fencing token, bumps a version and publishes, so exactly one process writes a Redis config key.

  6. Chaining Single-Purpose Redis Consumers into a Processing Pipeline

    XREADGROUP, XACK and XAUTOCLAIM: splitting one Python consumer into single-purpose Redis Streams stages with at-least-once delivery and crash recovery.

  7. Tracking Moving Objects with Redis Sorted Sets and an Atomic Lua Tick

    ZINCRBY updates one member only: a Lua script via redis-cli --eval advances every sorted set score atomically and returns members past a threshold.

All topics · All writing