oranie's blog

旧:iをgに変えると・・・なんだっけ・・・

redis 2.6系のdefalut configをちょっと調べた。

ひょんなことからredisを使う事になりそうなので、2.6系のconfigの項目の意味をとりあえずざっくり調べた。調べたとか言っておきながらまだよ〜分かっていない所とか、一部defalutと違う所があるかもなのでそこはよしなにお願いします。
とりあえずは
http://redis.shibu.jp/admin/config.html
を読むのが一番ですね。

daemonize yes #daemon化するか
pidfile /var/run/redis/redis.pid #pidの置き場所
port 6379 #bind port
timeout 120 #idle session timeout. 0 is disable
tcp-keepalive 0 #keepalive defalut is 0
loglevel notice #log level
logfile /var/log/redis/redis.log #log file prefix
databases 16 #database num. まだ良く分かっていない
save 900 1 #snapshot #snapshot取る頻度。
save 300 10 #snapshot 
save 60 10000 #snapshot
stop-writes-on-bgsave-error yes #backgroundのsnapshot saveが失敗した時の挙動?良く分からない 
rdbcompression yes #file保存時に圧縮するかどうか
rdbchecksum yes #rdb file にcheck sumを持つか。オーバーヘッドあるけど耐性がよりあるよ
dbfilename dump.rdb #dump する時のfile名
dir /var/lib/redis/ #data dir
#slave
slave-serve-stale-data no #slave側がmasterとの接続が切れたと判断した時にclientからの要求に対しyes -> とりあえずレスポンス返す no -> 今slave切れているから!とエラー返す
slave-read-only yes #masterにもsetしてOK?
repl-disable-tcp-nodelay no #有効にすると帯域は節約できるかも、Noにすると遅延が減るかも 
slave-priority 100 #sentinelで使用する優先順位付けID.最も低いIDが優先される。ただ動きがいまいち良く分からない。
#limit
maxclients 10000 #max client
maxmemory 2GB #max memory. cache用途なので入れるかどうか確認.キャッシュ用途なら入れたほうが賢いとは書いているけど.
maxmemory-policy volatile-lru #LRUアルゴリズムを使用して、期限切れキーを削除する
#aof
appendonly no #aof使うかどうか。aof使ったほうが耐障害性高い。cached用途ならいらんか。
appendfsync everysec #1sec毎にaof書き込みをするか
no-appendfsync-on-rewrite no #aofに絡んでfsyncのレイテンシが高すぎる場合はyesにする、それ以外はまずnoにしておけ
auto-aof-rewrite-percentage 100 #aof fileの書き換え閾値. 100%って何と比較してだろ・・・。
auto-aof-rewrite-min-size 64mb #aof fileの書き換え閾値.既存ファイルサイズ?調べる.
aof-rewrite-incremental-fsync yes #32MB毎にfsyncするか。Noだと一気にfsyncするからspikeするらしい
#other
lua-time-limit 5000 #lua scriptの実行タイムアウト値. msec指定.超えた場合に自動的にエラーになるというよりkillする事が可能になるステータスへ移動するっぽい。
slowlog-log-slower-than 10000  #micro secでの閾値設定
slowlog-max-len 128 #slow logのキューの長さ 最大128個のキューまでslow log入れてくれるっぽい。長くしても良いけどメモリ食うよ。
hash-max-ziplist-entries 512 #効率高めるためにハッシュエンコードするか まだよく分からない
hash-max-ziplist-value 64 #効率高めるためにハッシュエンコードするか まだよく分からない
list-max-ziplist-entries 512 #効率高めるためにハッシュエンコードするか まだよく分からない
list-max-ziplist-value 64 #効率高めるためにハッシュエンコードするか まだよく分からない
set-max-intset-entries 512 #64bit signed int型の時にこれ何をするんだろう・・・。
zset-max-ziplist-entries 128 #sort済みset listの時に閾値を下回っている時にエンコードして並び替えするっぽい
zset-max-ziplist-value 64 #sort済みset listの時に閾値を下回っている時にエンコードして並び替えするっぽい
activerehashing yes #ハッシュテーブルのメモリ解放化で再ハッシュ化する設定
client-output-buffer-limit normal 0 0 0 #client側のbuffuer limit どういうbuffuerかは調べる
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10 #backgroundでの処理呼び出し設定値 余程じゃない限り10で良いらしい

ただ、オシャレなエンジニアは2.8系を使うらしいので、

2.8系情報を当方お待ちしております。