Keydb_eng __link__ -
| Workload | Redis 6 (single-thread) | KeyDB (8 workers) | Gain | |----------|------------------------|-------------------|------| | 100% GET | ~450k ops/sec | ~2.8M ops/sec | 6.2x | | 80% GET, 20% SET | ~380k ops/sec | ~2.1M ops/sec | 5.5x | | 100% SET | ~400k ops/sec | ~1.9M ops/sec | 4.75x |
KeyDB scales almost linearly up to ~12–16 threads. Beyond that, contention on the global dictionary and memory bus becomes limiting. Very high-core counts (>32) may require sharding across multiple KeyDB instances. keydb_eng
int setCommand(client *c) unique_lock(server.dict_lock); // exclusive lock setKey(c->db, key, val); unique_unlock(server.dict_lock); | Workload | Redis 6 (single-thread) | KeyDB