![](https://github.com/satanson/codis/raw/6a878bf57378/doc/pictures/logo-3.png)
![Build Status](https://travis-ci.org/CodisLabs/codis.svg)
Codis is a proxy based high performance Redis cluster solution written in Go. It is production-ready and widely used at wandoujia.com and many companies. You can see Codis Releases for latest and most stable realeases.
##Compared with Twemproxy and Redis Cluster
| Codis | Twemproxy | Redis Cluster |
resharding without restarting cluster | Yes | No | Yes |
pipeline | Yes | Yes | No |
hash tags for multi-key operations | Yes | Yes | Yes |
multi-key operations while resharding | Yes | - | No(details) |
Redis clients supporting | Any clients | Any clients | Clients have to support cluster protocol |
"Resharding" means migrating the data in one slot from one redis server to another, usually happens while increasing/decreasing the number of redis servers.
##Other Features
- GUI website dashboard & admin tools
- Supports most of Redis commands, Fully compatible with Twemproxy(https://github.com/twitter/twemproxy)
- Proxies can register on zk/etcd, clients can avoid dead proxies, see "High Availability" section.
Tutorial
简体中文
English
FAQ
简体中文
English (WIP)
High Availability
简体中文
English
Architecture
![architecture](https://github.com/satanson/codis/raw/6a878bf57378/doc/pictures/architecture.png)
Snapshots
Dashboard
![main](https://github.com/satanson/codis/raw/6a878bf57378/doc/pictures/snapshot.png)
Migrate
![migrate](https://github.com/satanson/codis/raw/6a878bf57378/doc/pictures/snapshot_migrate.png)
Slots
![slots](https://github.com/satanson/codis/raw/6a878bf57378/doc/pictures/slots.png)
##Benchmarks
See benchmark results
##Authors
Active authors:
Emeritus authors:
Thanks:
License
Codis is licensed under MIT, see MIT-LICENSE.txt
You are welcome to use Codis in your product, and feel free to let us know~ :)