From 762eea07cac57eecb89bf5a079139cd664f4b9d8 Mon Sep 17 00:00:00 2001 From: antirez Date: Sat, 12 Nov 2011 11:27:38 +0100 Subject: [PATCH] Added test to make sure Redis evicts expired keys actively (and not just in a lazy fashion). --- tests/unit/expire.tcl | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/unit/expire.tcl b/tests/unit/expire.tcl index 6130e842..b88ff821 100644 --- a/tests/unit/expire.tcl +++ b/tests/unit/expire.tcl @@ -127,4 +127,18 @@ start_server {tags {"expire"}} { set ttl [r pttl x] assert {$ttl > 900 && $ttl <= 1000} } + + test {Redis should actively expire keys incrementally} { + r flushdb + r psetex key1 500 a + r psetex key2 500 a + r psetex key3 500 a + set size1 [r dbsize] + # Redis expires random keys ten times every second so we are + # fairly sure that all the three keys should be evicted after + # one second. + after 1000 + set size2 [r dbsize] + list $size1 $size2 + } {3 0} }