GithubHelp home page GithubHelp logo

redis-resharding-dumper's Introduction

Redis Resharding Dumper

Inspired by redis-resharding-proxy.

Redis Resharding Dumper could be used to split (re-shard) instance of Redis into several smaller instances without interrupting normal operations.

Introduction

https://raw.github.com/yegong/redis-resharding-dumper/master/redis-resharding.png

Redis resharding dumper is written in Go and requires no dependencies.

Compare to redis-resharding-proxy

ย  redis-resharding-proxy redis-resharding-dumper
Connection to old redis slave of old redis slave of old redis
Connection to new redis master of new redis client of new redis
How to resharding regex not implemented. leave it to twemproxy
RDB in SYNC parse and filter rdb parse rdb to set/hset.. command(slower)
Resharding multi server no yes

Installing/building

If you have Go environment ready:

go get github.com/yegong/redis-resharding-dumper

Otherwise install Go and set up environment:

$ mkdir $HOME/go
$ export GOPATH=$HOME/go
$ export PATH=$PATH:$GOPATH/bin

After that you can run redis-resharding-dumper.

Using

redis-resharding-dumper accepts several options:

-master-host="localhost": Master Redis host
-master-port=6379: Master Redis port
-slave-host="localhost": Proxy listening interface, default is all interfaces
-slave-port=6380: Proxy port for listening

They are used to configure proxy's listening address (which is used in Redis slave to connect to) and master Redis address.

Compatibility

Resharding proxy should be compatible with any Redis version.

Thanks

I would like to say thanks for ideas and inspiration to Andrey Smirnov.

Copyright and Licensing

Copyright 2016 Cooper Du. Unless otherwise noted, the source files are distributed under the MIT License found in the LICENSE file.

redis-resharding-dumper's People

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

blueszhangsh

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.