Shogo's Blog

たぶんプログラミングとかについて書いていくブログ

Redis::NamespaceのPerl版書いた

Redis のキーにプリフィックスつけるの面倒だなー自動的につけてくれないかなーと思い、 調べてみると Ruby に Redis-Namespace というものがあるらしい。 だけども、Perl では探しても見つからなかったので書いてみた。

レポジトリはこちら→Redis::Namespace

使い方

インターフェースは Perl Redis と一緒。 コマンドのキー名に当たる部分に、自動的にプレフィックスをつけてくれる。

1
2
3
4
5
6
7
8
use Redis;
use Redis::Namespace;

my $redis = Redis->new;
my $ns = Redis::Namespace(redis => $redis, namespace => 'fugu');

$ns->set('foo', 'bar');    # $redis->set('fugu:foo', 'bar');
my $foo = $ns->get('foo'); # my $foo = $redis->get('fugu:foo');

大体のコマンドには対応したつもり。 別のプレフィックスがついたキーには基本的にアクセスできなくなるので、 キー名の管理が少し楽になると思います。

でも、flushdb とか flushall すると全部消えるので気をつけてね!

Comments