本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーは一野瀬翔吾さんで、テーマは「PerlでのRedis活用法」です。
本稿のサンプルコードは、本誌サポートサイトから入手できます。
Redisとは
RedisはNoSQLやKVS(Key-Value Store)と呼ばれるデータベースの一種で、一般的なKVSに比べ多彩なデータ型を備えているのが特長です。文字列型、リスト型、ハッシュ型、セット型、ソート済みセット型の5つの型があり、これらの型をうまく活用することで単純なKVS以上のさまざまな機能を実現できます。
また、インメモリで動作するため、高いパフォーマンスを得ることができます。必要に応じてデータをディスクへ書き出すこともできるので、万が一トラブルが発生しても安心です。
筆者が以前運営に携わっていたソーシャルゲームでも、Perlをメインに使ったゲームサーバからRedisを利用していました。今回はその運用経験から得られた、PerlからRedisを活用するための方法を紹介します。
PerlからRedisに接続してみる
Redisはシンプルなしくみになっているので、あれこれ説明するよりも実際に手を動かしたほうが理解しやすいでしょう。さっそくPerlからRedisに接続してみることにします。
Redisのインストール
まずはRedisをインストールしましょう。Redisの公式サイトからソースコードをダウンロードし、コンパイルします。
インストールが正常に完了していれば、次のコマンドでRedisを起動できます。
Perl用クライアントのインストール
CPANにはRedisクライアントがいくつも公開されていますが、筆者のお勧めは拙作のRedis::Fastです。Redis::Fastは安定性と速度との両立を目的に開発しています。ネットワークトラブル時の再接続機能など、プロダクションで使われることを想定した機能を持っているのが特長です。また、Redisの公式ドキュメントで推奨されているRedis.pmと高いインタフェースの互換性を持っています。筆者が運営に携わっていたソーシャルゲームでもRedis.pmからRedis::Fastへの移行を行いましたが、機械的にモジュール名を置換するだけで済みました。
では、Redis::Fastをインストールしましょう。cpanm[1]を使っている人であれば、次のコマンドでRedis::Fastをインストールできます。
Redisに実際に接続する
必要なソフトウェアのインストールが終わったところで、接続するPerlのプログラムを書いてみましょう。「key」というキーに「value」という値をRedisに書き込み、書き込んだ結果をRedisから読み込むプログラムを作成します。
「value」が表示されれば接続成功です。
<続きの(2)はこちら。>
- 特集1
イミュータブルデータモデルで始める
実践データモデリング
業務の複雑さをシンプルに表現!
- 特集2
いまはじめるFlutter
iOS/Android両対応アプリを開発してみよう
- 特集3
作って学ぶWeb3
ブロックチェーン、スマートコントラクト、NFT