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: