LRUにも色々あるよねーって話。ちなみにmemcachedとRedisのどっちがいいか的な話ではない。 memcachedのLRU memcachedは起動時のオプション-mで最大何バイトまでmemcachedにメモリを食わせるかを指定することが出来て、この値を超えてmemcachedにデータをぶっ込もうとするとデータの追い出し(eviction)が発生します。どのデータが追い出されるかはいわゆるLRU(Least Recently Used)で、つまり最近使われていないデータが追い出されます。なので、「memcachedはLRUだよ」と言われると「ふーん」と分かったような気分になりますが、実はmemcachedのLRUはデータ全体におけるLRUではなくslab classごとのLRUなので、この辺を勘違いしていると痛い目に合います。 slab allocatorそのものについてはここでは
![ぼくらのLRU - 愛と勇気と缶ビール](https://cdn-ak-scissors.b.st-hatena.com/image/square/5438a7fd9a440707e88d3547517fa52ed6b631bc/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fz%2Fzentoo%2F20121202%2F20121202193241.png)