ほんとにメモです.
マスタ/スレーブ形式でのレプリケーションを設定したRedisにアクセスする場合,読み込みはスレーブ,書き込みはマスタに行う必要があります.が,なんだかWeb上の情報のままだと上手く行かなかったので,Laravel::Redis, Predis のソースを追いかけて追いかけて追いかけて,やっと上手く動きました.
使用バージョン:Laravel-5.1
環境
Master
書き込みはマスタに行う
- IP: 192.168.100.100
- Port: 6379
Slave
参照専用
- IP: 192.168.100.101
- Port: 6379
設定ファイル
config/database.php
'redis' => [
'cluster' => true,
'master' => [
'schema' => 'tcp',
'host' => '192.168.100.100',
'port' => 6380,
'alias' => 'master',
],
'slaves' => [
[
'schema' => 'tcp',
'host' => '192.168.100.101',
'port' => 6379,
'alias' => 'slave-01',
],
],
'options' => [
'replication' => true,
],
],
これで書き込み/読み出しの振り分けをやってくれました.
なんだか Predis のドキュメントと違うような気がする...2時間悩みましたorz
2015/10/26 修正
- 設定ファイルのサンプル,前提条件とサーバアドレスが異なっていたので修正しました.