The Socket.IO Streams adapter lost zero messages across four Redis-restart test runs, because it replays missed broadcasts from a Redis stream instead of relying on pub/sub.
The classic Redis adapter and the newer sharded adapter lost 56-60% of messages in three of four runs each, since standard Redis pub/sub never buffers what it fails to deliver.
Every Socket.IO Redis adapter, including Streams, still requires sticky sessions on the load balancer or the HTTP long-polling handshake returns a 400 error.