olric-data/olric ? reverse-engineered prompt

Reverse engineered prompt

Build me a distributed in memory key value store and cache in Go that can run either embedded inside an app or as a standalone server.

I want it to feel a lot like Redis for the common things, so it should support putting and getting values, deleting keys, expiring data, atomic counters, compare and swap, locking, scan, publish subscribe, and basic cluster info. It should work well across multiple nodes, automatically split data up, keep replicas, rebalance when nodes join or leave, and support simple auth. Use the Redis protocol so normal Redis clients can talk to it.

Please include a clean way to start it from config files or code, and make sure there is a client library path for both embedded and network use. It should be fast, in memory only, and good for transient shared state, distributed caching, and messaging. If you need to look up current docs online while wiring it up, go ahead.

Are you gonna build this?

make sure you review the code using coderabbit

Try freeSponsored — opens CodeRabbit in a new tab