ねもぷらす

ふぁいんでぃんぐねもの日記。プログラミングとか育児とか

memcached な日。

たまには早く帰宅して、自サバいぢり。
参考:http://blog.ajohnstone.com/archives/installing-memcached/

$ cd /usr/local/src
$ wget http://www.monkey.org/~provos/libevent-1.3b.tar.gz
$ tar xzvf libevent-1.3b.tar.gz
$ cd libevent-1.3b
$ ./configure; make
$ su
# make install
# exit
$ cd /usr/local/src
$ wget http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz
$ tar xzvf memcached-1.2.2.tar.gz
$ cd memcached-1.2.2
$ ./configure; make
$ su
# make install
# memcached -d -u nobody -m 1 127.0.0.1 -p 11211
# perl -MCPAN -e 'CPAN::Shell->install("Cache::Memcached")'
#!/usr/local/bin/perl -w
use strict;
use Cache::Memcached;

my $cache = Cache::Memcached->new({
    servers => ['localhost:11211'],
    debug   => 0,
});

# XXX get immediately after storing
for my $key (0 .. 9) {
    $cache->set($key => '.' x 200_000);
    my $stored = $cache->get($key);
    print "$key :", length($stored), "\n";
}

sleep 1;

# XXX get stored
for my $key (0 .. 9) {
    my $stored = $cache->get($key);
    print "$key :", length($stored), "\n";
}
  • 結果
perl -w test.pl 
0 :200000
1 :200000
2 :200000
3 :200000
4 :200000
5 :200000
6 :200000
7 :200000
8 :200000
9 :200000
Use of uninitialized value in length at test.pl line 23.
0 :0
Use of uninitialized value in length at test.pl line 23.
1 :0
Use of uninitialized value in length at test.pl line 23.
2 :0
Use of uninitialized value in length at test.pl line 23.
3 :0
Use of uninitialized value in length at test.pl line 23.
4 :0
5 :200000
6 :200000
7 :200000
8 :200000
9 :200000

なるほど確かに古い情報がキャッシュから追い出されていますね。
クライアント側の設定を調べるべ。