]> git.saurik.com Git - redis.git/commit - src/redis.c
More incremental active expired keys collection process.
authorantirez <antirez@gmail.com>
Fri, 11 May 2012 17:17:31 +0000 (19:17 +0200)
committerantirez <antirez@gmail.com>
Sat, 12 May 2012 07:33:24 +0000 (09:33 +0200)
commit3a401464e9c42fafeaa9405db60d10b3256aca51
tree59aae143cef173f2e5eceae7522788fa5e8f1f5c
parent064223107e3ce2a8cae6e35245bb1037ff5b984c
More incremental active expired keys collection process.

If a large amonut of keys are all expiring about at the same time, the
"active" expired keys collection cycle used to block as far as the
percentage of already expired keys was >= 25% of the total population of
keys with an expire set.

This could block the server even for many seconds in order to reclaim
memory ASAP. The new algorithm uses at max a small amount of
milliseconds per cycle, even if this means reclaiming the memory less
promptly it also means a more responsive server.
src/redis.c
src/redis.h