memcachedの有効期限の小ネタ

久しぶりの投稿。


memcachedでテストしてみたので結果だけ。
memcachedの有効期限についてだが、2,592,000(30日分)以上設定できないというのを知識的に知っていたが、試してみた。


ちなみにWindows版にて・・・
versionは1.2.4。最新見てみると1.4.5だって、そんなに進んでんの・・・。


で、telnet上で

set test1 0 0 5
test1
STORED

set test2 0 2592000 5
test2
STORED

set test3 0 2592001 5
test3
STORED



と3件データを投入してみた。
test3はエラーにならないのね。。。
それでもって、それぞれgetしてみると。。。

get test1
VALUE test1 0 5

get test2
VALUE test2 0 5

get test3
END



おおお、エラーにはならなかったtest3だが、格納されていない。
なるほどぉ。
こういう動きをするのか。。。
ちなみに、日付を30日進めて、getしたところ、

get test1
VALUE test1 0 5

get test2
END

get test3
END



となった、有効期限は効いているみたい。
test2がなくなったからね。
でもって、expire = 0で設定した場合、30日で消えるとかいうことはなさそう。
90日まで進めてみたけどちゃんと残っていた。
LRUであふれて消えるまで残っているみたいです。


なかなか、有意義なテストだった・・・
って、もしかして常識ですか・・・