Re:Redis 6 RC1 is out today
by antirez on Thursday December 19, 2019 @02:03PM
(#21838056)
Threading can help up to a given point but sharing is the way to go.
[ Parent
| on HN ]
One of our bottlenecks was really big keys (>1MB) being written and read too often and effectively stealing all the CPU time. That was fixed in the app by reducing the number of operations + compression. Threaded IO will give us a little more room.
Other use case involves LUA scripts that operate on 5 different keys, so cluster/proxy is out of question.
Genuinely curious, why do you need such big keys ? Can't you hash them so you get nice short SHA-X strings for instance ?
I run a fork called KeyDB with multithreading as well as a few optimizations directly around large values (redis does unnecessary copies).
It may work well for your use case. https://github.com/JohnSully/KeyDB