Hatak::Techlog

Verba volant, scripta manent.

Redis 2.4 -> 2.6 のアップグレード

Redis 2.6 が正式リリースされました。大きな機能追加に隠れて、いくつかの変更があります。

  • Lua のサポート
  • クライアント接続数の制限解除
  • expires のミリ秒対応

2.4 以前の config では deprecated になっている設定項目があるため、一部手を入れる必要があります。mac で launchctl を使っている場合、自動起動に失敗していても気づきにくいので注意が必要です。

VirtualMemory

$ redis-server /usr/local/etc/redis.conf
*** FATAL CONFIG FILE ERROR
*** Reading the configuration file, at line 389
>>> 'vm-enabled no' Bad directive or wrong number of arguments

Virtual Memory (仮想メモリ) の設定は非サポートになっているので、丸ごと削除してしまいます。

An overview of new features and changes in Redis 2.6.x
======================================================
...
* Virtual Memory removed (was deprecated in 2.4)
...

2.4 以降で depricated になっている下記のプロパティが対象のようです。

  • vm-enabled
  • vm-swap-file
  • vm-max-memory
  • vm-page-size
  • vm-pages
  • vm-max-threads

CONFIG SET parameters

$ redis-server /usr/local/etc/redis.conf
*** FATAL CONFIG FILE ERROR
*** Reading the configuration file, at line 367
>>> 'hash-max-zipmap-entries 512' Bad directive or wrong number of arguments

2つの設定の設定項目の名称が変更になっています。

Migrating from 2.4 to 2.6
=========================
...
The following redis.conf and CONFIG GET / SET parameters changed:

* hash-max-zipmap-entries, now replaced by hash-max-ziplist-entries
* hash-max-zipmap-value, now replaced by hash-max-ziplist-value
...

リリースノートを参考にリネームします。

参考