I wrote 10,000 keys into Redis running in Docker, then ran one ordinary Docker command and counted what was left. I did that for every command I could think of that people run on a Redis container: restart, stop, kill, rm, Compose down and up, an image upgrade. Then I filled Redis up inside a memory-limited container to see what maxmemory actually protects you from.
Most of it went the way the docs say. Three things didn't: the current redis:8 image no longer declares a volume, so moving from redis:7 to redis:8 in Compose can start you on an empty database. maxmemory set at three quarters of the container limit still got Redis OOM-killed.…