Magentoを使ったECサイトを運営していると、ある時点でサーバーダウンが明確に売上の機会損失として無視できなくなってきたり、アクセス数にサーバー構成が追いつかなくなるタイミングがやってきます。
Magentoも一般的なWebアプリケーションと同じスケールアウト手法が利用できるのですが、Magentoの場合はセッションやデータキャッシュを複数台のサーバーで共有する必要が出てきます。
今回はそんな構成の環境で便利なエクステンションの紹介です。

Redismanagerとは?

Redismanagerは、Steve Robbinsという開発者が開発・公開しているMagentoエクステンションです。
Githubで開発と公開が行われていて、無料で使うことができます。このエクステンションはMagento1.8系から正式サポートされるようになった、RedisのデータベースをMagentoの管理画面上から操作するためのエクステンションです。

Redismanagerをインストールする

Redismanagerのインストールは簡単です。以下の手順でインストールができます。

  1. Githubからソース一式をダウンロードするか、リポジトリをCloneします。
  2. srcディレクトリの中に入っているファイル一式をMagentoのドキュメントルート以下にコピーします。
  3. Magentoのキャッシュをクリアし、Redismanagerを使用させたい管理者権限を更新します。

インストールが成功すると、管理画面にRedismanagerというメニューが増えます。

メニューの追加

この機能にアクセスすると、次の画像のようにRedisサーバー上のキャッシュ情報が表示されます。

Redis管理画面

Redis上に保管されているデータの容量や、データベース数が見えると思います。
この画面上からRedis上のキャッシュを一括削除することもできますし、それぞれのデータベース単位で削除したり、特定のデータだけを削除することができます。

Redismanagerが必要になるシーン

通常、Magentoのキャッシュ保存先をRedisにした場合、キャッシュはMagentoのキャッシュ管理機能からリフレッシュすることができます。
ですが、たとえそこからリフレッシュをしたとしても、Redisサーバー上のデータベースサイズが小さくなることはありません。
RedismanagerはRedisのコマンドラインツール・redis-cliの代わりに使うことができるため、肥大化したデータベースを消去して初期化することができます。
Redismanagerがない環境では、都度redis-cliを実行しなければならないのですが、RedismanagerがあればMagentoの管理画面から実行できるため、Linuxの知識がなくてもごく簡単な操作ができるようになります。