在StackExchange.Redis中触发多个命令会导致大量内存消耗

时间:2015-02-16 17:58:46

标签: memory-leaks stackexchange.redis

鉴于这种情况

ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost");
IDatabase db = redis.GetDatabase(1);
foreach (var x in Enumerable.Range(0,5000000))
{
    db.StringIncrement("K:"+x, 1, StackExchange.Redis.CommandFlags.FireAndForget);
}

内存消耗有一个快速的峰值达到约300MB,并且在该过程结束时尚未发布。如果我然后强制执行GC.Collect命令,它将返回到启动级别。这是一个问题,因为当我在循环中添加更多命令时,内存消耗会变得更大,显然会导致32位进程内存不足。出现这种情况的原因是什么?

0 个答案:

没有答案