finds.dev← search

// the find

vipshop/hiredis-vip

★ 330 · C · BSD-3-Clause · updated Nov 2020

Support redis cluster. Maintained and used at vipshop.

A C client for Redis that adds cluster support on top of hiredis, giving you synchronous, pipelined, and async (libevent/libev/libuv/ae) access to a Redis Cluster plus cross-node MGET/MSET/DEL. It's for C/C++ services that need to talk to Redis Cluster directly without pulling in a heavier client.

Cross-node multi-key commands (MGET/MSET/DEL) are handled transparently, which is the part people usually hand-roll themselves when hiredis alone doesn't do cluster routing. Async support covers four event loops out of the box (ae, libevent, libev, libuv), not just one. API mirrors vanilla hiredis closely, so existing hiredis code ports over with minimal rework. Battle-tested at vipshop's scale rather than a weekend project.

No commits since late 2020 — five years stale for a library parsing untrusted network input in C, with no indication CVEs or redirect/resharding edge cases have been revisited. The README documents two incompatible API generations side by side (pre/post 0.3.0) without a clear migration note, which is a trap for new integrators. This project was effectively superseded: hiredis-cluster forked directly from it to continue maintenance after vipshop stopped, so anyone evaluating this today should really be looking at that fork instead. No RESP3, no TLS mentioned anywhere, and cluster topology refresh/failover behavior isn't documented beyond 'max redirect count' — you'll be reading hircluster.c to understand real failure behavior.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →