ニコニコ生放送に見る Redis 活用ノウハウ

第2回 Redisの導入と基本機能

この記事を読むのに必要な時間:およそ 3 分

今回は実際にRedisをインストールしてみるところから,コマンドラインクライアントを使った基本的な操作方法,そして実際のアプリケーション開発時に重宝するDB選択やタイムアウトなどのRedis特有の仕様について説明します。

インストール

ダウンロード

本連載執筆時点の最新stableである,2.0.4をダウンロードします。

$ wget http://redis.googlecode.com/files/redis-2.0.4.tar.gz

コンパイル

RedisはANSI Cで書かれ,外部の依存ライブラリの必要ないシンプルな実装になっているため,コンパイルは以下のステップで完了します。

$ tar xzf redis-2.0.4.tar.gz
$ cd redis-2.0.4
$ make

「redis-server」「redis-cli」が生成されたのを確認してください。

設定の変更

Redisの設定ファイル「redis.conf」に最小限の設定をしておきます。以下の設定項目を環境に合わせて変更してください。

daemonize:
Redisサーバーをデーモンとして起動する場合は,daemonizeオプションを変更します。
dir:
メモリのダンプファイルが作成されるディレクトリを指定します。
maxmemory:
メモリ上に保持する最大サイズを指定します。Redisをキャッシュサーバーとして利用する場合や,開発環境で他のサーバープログラムと同居させる場合など,必要に応じて設定してください。

サーバーの起動

引数に設定ファイルを指定してRedisサーバーを起動します。設定ファイルを指定しないとデフォルトの設定が適用されるので注意してください。

$ ./redis-server redis.conf

以上でRedisのインストールとサーバーの起動が完了しました。

基本的な操作

コマンドラインクライアントの導入

Redisのコマンドラインクライアントである「redis-cli」を使うと,稼働中のRedisサーバーに接続して各種コマンドをインタラクティブに実行することができます。

Redisをコンパイルしたディレクトリで,次のようにredis-cliを起動してください。

$ ./redis-cli
redis>

自動的にローカルのサーバーに接続し,プロンプトが表示されてコマンドを入力できる状態になります。

文字列の格納と参照

まずは,GETコマンドとSETコマンドを実行してみてください。

redis> SET mykey hello
OK
redis> GET mykey
“hello”

これでキーmykeyに文字列helloが格納されました。

なお,GETとSETコマンドは文字列を操作するコマンドであるため,他の型に対して実行するとエラーになります。このようにコマンドによっては操作できる型が限定されることがありますので注意してください。

キーの削除

キーの削除にはDELコマンドを使います。DELコマンドは型に関係なく,すべてのキーを削除できます。

redis> DEL mykey
(integer) 1
redis> GET mykey
(nil)

インクリメント・デクリメント

数値を表す文字列に対しては,INCR/DECRコマンドでインクリメントとデクリメントができます。

redis> GET mynum
(nil)
redis> INCR mynum
(integer) 1
redis> INCR mynum
(integer) 2
redis> DECR mynum
(integer) 1

増減の量を指定したい場合は,INCRBY/DECRBYコマンドを実行します。

redis> GET mynum
(nil)
redis> INCRBY mynum 100
(integer) 100
redis> INCRBY mynum 100
(integer) 200
redis> DECRBY mynum 100
(integer) 100

著者プロフィール

小野侑一(おのゆういち)

株式会社ドワンゴ ニコニコ生放送システムリーダー。

ニコニコ生放送での開発経験を通して,ウェブをリアルタイム化する技術の重要性に着目。その成果としてリアルタイムタグ検索やRedisを活用したリアルタイム視聴者集計システムを開発。現在は全文検索のリアルタイム化に注目している。

Twitter@synk

コメント

コメントの記入