RedisDBモジュールを使ってperlからRedisの操作.
インストール
Redisのインストール(Mac)
brew install redis
Redisの起動
# server起動
$ redis-server
# cliet起動
$ redis-cli
それぞれの起動オプションは--help
を付けて実行のこと.
perlのRedisモジュールインストール
cpanm RedisDB
サンプルコード
基本的な, GET/SETとパイプライン
use Data::Dumper;
use RedisDB;
my $redis = RedisDB->new(
host => 'localhost',
port => 6379
);
# SET/GET
$redis->set('A', 100);
print Dumper $redis->get('A');
# > $VAR1 = '100'
$redis->mset('1', 10, '2', 20, '3', 30);
# send_commandを使ったパイプライン
my $data = [];
for my $key ( qw/1 2 3/ ) {
# callback関数を渡せる
$redis->send_command('GET', $key, sub {
my ($self, $value) = @_;
push(@$data, $value);
});
}
# callback関数が実行されるまでblock
$redis->mainloop;
print Dumper $data;
# > $VAR1 = [
# '10',
# '20',
# '30',
# ];
send_command
は, callbackを渡す以外にもget_all_replies
等で値を受け取ることができる.
基本的なRedisのコマンドはラップされているが,
hgetall
メソッドの戻り値が配列だったりすることは注意.
参考資料
RedisDBモジュール
http://search.cpan.org/dist/RedisDB/lib/RedisDB.pm
Redisのコマンド一覧
http://redis.io/commands