top | item 46906923

(no title)

stock_toaster | 25 days ago

memcached is multithreaded, so it scales up better per node.

memcached clients also frequently uses ketama consistent hashing, so it is much easier to do load/clustering, being much simpler than redis clustering (sentinel, etc).

Mcrouter[1] is also great for scaling memcached.

dragonfly, garnet, and pogocache are other alternatives too.

[1]: https://github.com/facebook/mcrouter

discuss

order

zemo|25 days ago

> memcached is multithreaded, so it scales up better per node.

redis i/o is multithreaded, it's just the command loop that's single-threaded. If all you're doing is SET and GET of individual key-value pairs, every time I've seen a redis instance run hot under that sort of load, the bottleneck was the network card, never the CPU.

I ... actually think scaling redis for simple k-v storage is already pretty easy so I dunno that that's much of a concern?

mcrouter ... damn I haven't thought about mcrouter in at least 10 years.