activeExpireCycle() smarter with many DBs and under expire pressure.
activeExpireCycle() smarter with many DBs and under expire pressure.

activeExpireCycle() tries to test just a few DBs per iteration so that
it scales if there are many configured DBs in the Redis instance.
However this commit makes it a bit smarter when one a few of those DBs
are under expiration pressure and there are many many keys to expire.

What we do is to remember if in the last iteration had to return because
we ran out of time. In that case the next iteration we'll test all the
configured DBs so that we are sure we'll test again the DB under
pressure.

Before of this commit after some mass-expire in a given DB the function
tested just a few of the next DBs, possibly empty, a few per iteration,
so it took a long time for the function to reach again the DB under
pressure. This resulted in a lot of memory being used by already expired
keys and never accessed by clients.

janeasystems/redis,damy/redis,Cybermaxs/redis,oaastest/redis,jacklee0810/redis,ScottKaiGu/redis,Jonavin/redis,enginekit/redis,jqk6/redis,liqiang199105/redis,damy/redis,laurencee/redis,Cybermaxs/redis,jaambee/redis,jacklee0810/redis,oaastest/redis,laurencee/redis,jacklee0810/redis,sidsen/redis,ideaar/redis,Jonavin/redis,quangnguyen90/redis,shanegxxiao/redis,sidsen/redis,enginekit/redis,alpha8/redis,shanegxxiao/redis,kts12345/redis,kolonse/redis,liqiang199105/redis,oaastest/redis,upsoft/redis,quangnguyen90/redis,hanmichael/redis,jacklee0810/redis,jacklee0810/redis,hanmichael/redis,sidsen/redis,ScottKaiGu/redis,miminus/redis,damy/redis,Cybermaxs/redis,damy/redis,kts12345/redis,adamweixuan/redis,laurencee/redis,hanmichael/redis,janeasystems/redis,adamweixuan/redis,miminus/redis,janeasystems/redis,kts12345/redis,ScottKaiGu/redis,nandhanurrevanth/redis,nandhanurrevanth/redis,ideaar/redis,DeNA/redis,miminus/redis,hanmichael/redis,enginekit/redis,sidsen/redis,jaambee/redis,quangnguyen90/redis,jqk6/redis,janeasystems/redis,Jonavin/redis,Cybermaxs/redis,laurencee/redis,ideaar/redis,enginekit/redis,DeNA/redis,jqk6/redis,miminus/redis,quangnguyen90/redis,sidsen/redis,kts12345/redis,enginekit/redis,kolonse/redis,liqiang199105/redis,shanegxxiao/redis,kts12345/redis,Cybermaxs/redis,oaastest/redis,nandhanurrevanth/redis,hanmichael/redis,ideaar/redis,upsoft/redis,shanegxxiao/redis,sidsen/redis,laurencee/redis,DeNA/redis,jaambee/redis,Jonavin/redis,kolonse/redis,liqiang199105/redis,kolonse/redis,upsoft/redis,jqk6/redis,adamweixuan/redis,jqk6/redis,jaambee/redis,miminus/redis,kolonse/redis,alpha8/redis,quangnguyen90/redis,alpha8/redis,oaastest/redis,jaambee/redis,nandhanurrevanth/redis,ScottKaiGu/redis,upsoft/redis,liqiang199105/redis,upsoft/redis,damy/redis,alpha8/redis,shanegxxiao/redis,ideaar/redis,ScottKaiGu/redis,adamweixuan/redis,nandhanurrevanth/redis,alpha8/redis,Jonavin/redis,janeasystems/redis,adamweixuan/redis