Giter Site home page Giter Site logo

codis's Introduction

#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.

##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 github.com/wandoulabs/codis
  • cd 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: 16376596 kB

Twemproxy:
redis-benchmark -p 22121 -c 500 -n 5000000 -P 100 -r 10000 -t get,set

Codis:
redis-benchmark -p 19000 -c 500 -n 5000000 -P 100 -r 10000 -t get,set

Result:

main

简体中文
English (WIP)

For Java users who want to support HA

[Jodis (HA Codis Connection Pool based on Jedis)] (https://github.com/wandoulabs/codis/tree/master/extern/jodis)

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

codis's People

Contributors

huangdongxu avatar spinlock avatar ngaut avatar c4pt0r avatar apache9 avatar coocood avatar gitter-badger avatar elvuel avatar masterlvng avatar tiancaiamao avatar

Stargazers

WayLeung avatar wang hai ying avatar 鬼谷子 avatar jiaxin avatar ceeker avatar

Watchers

James Cloos avatar  avatar jiaxin avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.