See: Distroless images[0]

This is one of the huge benefits of recent systems languages like go and rust -- they compile to single binaries so you can use things like scatch[1] containers. You may have to fiddle with gnu libc/musl libc (usually when getaddrinfo is involved/dns etc), but once you're done with it, packaging is so easy.

Even languages like Node (IMO the most progressive of the scripting languages) have packages like vercel/pkg[2] which produce native binaries.

BTW if you're considering running redis these days... Check out KeyDB[3], it's impressive. There are a lot of redis alternatives with interesting features these days that I wonder if running vanilla redis is even a good idea anymore (outside of ensuring complete feature-set compatibility).

[0]: https://github.com/GoogleContainerTools/distroless

[1]: https://hub.docker.com/_/scratch/

[2]: https://github.com/vercel/pkg

[3]: https://docs.keydb.dev

Mind sharing these other alternatives of Redis you are talking about?

There's also Redis Streams. Do any of these alternatives have similar streaming features or are there any other databases that are lightweight (instead of going full on Kafka)?

I thought you'd never ask:

- KeyDB (https://keydb.dev)

- Pelican Cache (https://www.pelikan.io/)

- Tendis (https://github.com/Tencent/Tendis)

- SSDB (https://github.com/ideawu/ssdb)

- Dynomite (https://github.com/Netflix/dynomite/)

- Dragonfly (https://github.com/dragonflydb/dragonfly)

- Skytable (https://github.com/skytable/skytable)

- Tidis (https://github.com/yongman/tidis)

- Anna (https://github.com/hydro-project/anna)

- Skyhook (https://github.com/aerospike/skyhook)

And some which are kinda dead but still interesting -- redis is the kind of workload that does actually become feature complete so these are still usable in my mind though maybe not first choice:

- ledisdb (https://github.com/ledisdb/ledisdb)

- Codis (https://github.com/CodisLabs/codis)

- xcodis (https://github.com/ledisdb/xcodis)

I'm planning on doing a comparison with these at some point, because they're fascinating (all these projects go off in subtly different directions, I'll spare you the details), but here's a recent comparison someone else did:

https://news.ycombinator.com/item?id=31796311

Basically, redis compatibility is like step 1 for any KVS that wants to seem at least a little usable/real-world-focused so you get so many cool entrants.

I don't really personally keep up with redis for the stream use-case -- it's a great use for redis but that doesn't really make/break for me usually.