Macosx に Redis をインストールする

macosx では Homebrew を使うと簡単にアプリのインストールが可能になります。 Homebrew がインストールされた環境ならば brew install コマンドでインストール自体は非常に簡単に出来ます。

redisをインストール

$ brew install redis
==> Downloading http://redis.googlecode.com/files/redis-2.4.14.tar.gz
######################################################################## 100.0%
==> make -C /private/tmp/homebrew-redis-2.4.14-IgBU/redis-2.4.14/src CC=/usr/bin/clang
==> Caveats
If this is your first install, automatically load on login with:
    mkdir -p ~/Library/LaunchAgents
    cp /usr/local/Cellar/redis/2.4.14/homebrew.mxcl.redis.plist ~/Library/LaunchAgents/
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

If this is an upgrade and you already have the homebrew.mxcl.redis.plist loaded:
    launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
    cp /usr/local/Cellar/redis/2.4.14/homebrew.mxcl.redis.plist ~/Library/LaunchAgents/
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

  To start redis manually:
    redis-server /usr/local/etc/redis.conf

  To access the server:
    redis-cli
==> Summary
/usr/local/Cellar/redis/2.4.14: 9 files, 420K, built in 55 seconds

自動実行されるようにする

$ mkdir -p ~/Library/LaunchAgents
$ cp /usr/local/Cellar/redis/2.4.14/homebrew.mxcl.redis.plist ~/Library/LaunchAgents/
$ launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

redisを停止

$ launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

インストールされるファイル等

Redis Server

/usr/local/bin/redis-server

Redis Client

/usr/localbin/redis-cli

設定ファイル

/usr/local/etc/redis.conf

ログファイル

/usr/local/var/log/redis.log

redisクライアントからの接続動作テスト

$ redis-cli 
redis 127.0.0.1:6379> set key1 val1
OK
redis 127.0.0.1:6379> get key1
"val1"

バックアップ

redisのバックアップにはredis-cliコマンドを使って発行します。bgsaveと書かれてるようにバックグラウンドで取得するバックアップコマンドのためredis が動作している最中でも可能なホットバックアップになります。 バックアップはバックグラウンドで非同期に行われるためいつ終了するか分からないためlastsaveコマンドを発行すると最後に保存されたバックアップの時間がepoch時間で表示されます。 保存されるデータベースファイルは環境によって異なる場合があります。私の環境では/var/db/redis にファイルが作成されたのでタイムスタンプなどでファイルが作成されている事を確認して別の場所にコピーするなどして下さい。

$ redis-cli bgsave
$ redis-cli lastsave
(integer) 1361928492
$
$ ls /var/db/redis
dump.rdb 

バックアップファイルの検証

ファイルシステムの破損やシステムの不具合等によりバックアップしたファイルに不整合が起こる事も考えられます。 redis にはdumpファイルをチェックするコマンドもあります。redis-check-dump コマンドにダンプファイル名を引数で渡すことで簡単にチェックできます。

$ redis-check-dump dump.rdb
==== Processed 56320 valid opcode (in 8565082 bytea) ============
$

ダンプしたファイルが正常なら valid opcode と表示されるはずです

created:

Back to top