关于reids 连接池问题!
使用vs2013开发,使用ServiceStack.Redis 连接redis。
/// <summary>
/// 写入
/// </summary>
/// <typeparam name="F"></typeparam>
/// <param name="doWrite"></param>
/// <returns></returns>
public F TryRedisWrite<F>(Func<IRedisClient, F> doWrite)
{
PooledRedisClientManager prcm = new Managers().GetClientManagers();
IRedisClient client = null;
try
{
using (client = prcm.GetClient())
{
return doWrite(client);
}
}
catch (RedisException)
{
throw new Exception("Redis写入异常.Host:" + client.Host + ",Port:" + client.Port);
}
finally
{
prcm.Dispose();
}
}
在网上找到一个例子,试着使用了一下! 主要是到了 prcm.Dispose(); ,当有并发的时候它就关闭不上,连接数会一直增加,直到设置的总数(writeReadCount = 128;)为止,一直找不到原因。麻烦谁知道解决方法!或者给个思路解决一下这问题。