はじめてのレプリケーション

redisでレプリケーションをやったことがなかったのでやってみました。
ちょっと試したいだけならとっても簡単。
環境:OS X 10.7.5 / redis 2.6.9

インストール

適当な場所にインストールします。

$ wget http://redis.googlecode.com/files/redis-2.6.9.tar.gz
$ tar xvfz redis-2.6.9.tar.gz
$ cd redis-2.6.9/
$ PREFIX=$HOME/Binary/redis make install

起動

masterとslaveを起動します。

$ cd bin/
$ ./redis-server &              # slave  : port 6379(default)
$ ./redis-server --port 6380 &  # master : port 6380

slaveの設定をする

slaveとなる方にアクセスし、コマンドを実行します。

$ ./redis-cli --port 6379
> SLAVEOF 127.0.0.1 6380

これでmaster/slaveの設定はおしまい。

試してみる

slave
> set aaa 123
(error) READONLY You can\'t write against a read only slave.
> get aaa
(nil)
master
$ ./redis-cli --port 6380
> set aaa 123
OK
slave
> get aaa
"123"

という風に、masterで設定したものがslaveにも設定されるようになりました。


redisはインストールは簡単で動作も早く、KVSの機能だけでなくpub/subやmaster/slaveの機能などがあって、なかなか面白いです。