Skip to content

jnan77/codis

 
 

Repository files navigation

#Codis - yet another fast distributed solution for Redis

Gitter Build Status

Codis is a proxy based high performance Redis cluster solution written in Go/C, an alternative to Twemproxy.

Codis supports multiple stateless proxy with multiple redis instances.

Codis is engineered to elastically scale, Easily add or remove redis or proxy instances on-demand/dynamicly.

Codis is production-ready and is widely used by wandoujia.com.

##Major Changes in 2.0 In Codis 2.0, we redesign the request dispatcher. Now pipeline and mget/mset requests are much faster than ever!

##Features

  • Auto rebalance
  • Extremely simple to use
  • Support both redis or rocksdb transparently
  • GUI dashboard & admin tools
  • Supports most of Redis commands, Fully compatible with twemproxy(https://github.com/twitter/twemproxy)
  • Native Redis clients are supported
  • Safe and transparent data migration, Easily add or remove nodes on-demand.
  • Command-line interface is also provided
  • RESTful APIs

Build and Install

  • Install go & ZooKeeper
  • go get -d github.com/wandoulabs/codis
  • cd $GOPATH/src/github.com/wandoulabs/codis
  • ./bootstrap.sh
  • make gotest
  • cd sample
  • follow instructions in usage.md

Tutorial

简体中文
English

FAQ

简体中文
English (WIP)

Performance (Benchmark)

  • Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz

  • MemTotal: 16 GB

  • System:

    • Linux: 4.0.5-1-ARCH #1 SMP PREEMPT Sat Jun 6 18:37:49 CEST 2015 x86_64 GNU/Linux
    • Go: go version go1.4.2 linux/amd64
  • Redis:
    nohup codis-server 6380.conf &
    nohup codis-server 6381.conf &
    nohup codis-server 6382.conf &
    nohup codis-server 6383.conf &

  • Twemproxy:
    redis-benchmark -p 22120 -c $clients -n 5000000 -P 100 -r 1048576 -d 256 -t get,set,mset

  • Codis:
    redis-benchmark -p 19000 -c $clients -n 5000000 -P 100 -r 1048576 -d 256 -t get,set,mset

  • Result:

main

High Availability

简体中文 English

Architecture

architecture

Snapshots

Dashboard main

Migrate migrate

Slots slots

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~ :)

About

redis cluster powered by go

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 73.8%
  • HTML 13.1%
  • JavaScript 9.5%
  • Shell 3.2%
  • Other 0.4%