What is the functional difference between redis cluster, codis and twemproxy? Apply separately?

the functional differences between redis cluster, codis and twemproxy? Which is more suitable for the production environment?
which of the three will correspond different keys to different hosts? When I find the information, all three automatically assign keys to the specified redis instance to save. Can this step be forcibly modified through the python redis client? Can I automatically control that the xx key can only be saved to the A redis instance?
how to manage hosts?


  1. redis cluster scheme: after there is no proxy, data sharding, you can access any node in the cluster to determine which node the data to be accessed is located. It is a design that puts storage and metadata management together. The implementation is more complex, and it is difficult to troubleshoot problems. It is not suitable for large-scale clusters + multi-regions, because it will lead to high network communication costs + brain cracks.
  2. codis: has the advantage of having a perfect operation and maintenance management platform, but it invades the redis source code
  3. twemproxy: does not support automatic disaster recovery and capacity expansion, while officially abandoning maintenance

all of the above support saving a certain type of key to the same instance through tag

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b359ba-2bf9c.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b359ba-2bf9c.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?