csredis icon indicating copy to clipboard operation
csredis copied to clipboard

报错 【对象池已释放,无法访问。】

Open Jerryow opened this issue 3 years ago • 3 comments

大神你好, 我基于.net core 3.1 , csrediscore 3.6.6 redis: 阿里云 4.0社区版 1G主从版

我在startup- ConfigureServices 里面初始化一次 redis

        var redisCfg = Configuration.GetSectionByKey<RedisConfigModel>("common_redisAddress_bitSurvey");

        var redisConnStr = $"{redisCfg.ConnectionString},defaultDatabase=3,preheat=false,connectTimeout=30000,autoDispose=false,testcluster=false,poolsize=15";
        //Console.WriteLine($"\r\n初始化redis:{Newtonsoft.Json.JsonConvert.SerializeObject(redisCfg)},\r\n [字符串]:{redisConnStr.Trim().TrimEnd()} \r\n");

        RedisHelper.Initialization(new CSRedisClient(redisConnStr));

然后有一个自己的类封装了一些业务
public T Get<T>(string key) { var redisValue = RedisHelper.Get<T>(key); return redisValue != null ? redisValue : default(T); }

依赖注入进去,并且确保是只实例化了一次

但是总是报错【xxxxxxxx:6379/3】对象池已释放,无法访问。

前面的issue和能搜到的配置方案基本上都试过了,确认过连接数和redis的性能都ok,不存在高连接和高并发,还是会报错这个

请教一下.

Jerryow avatar Jul 01 '21 15:07 Jerryow

解决了吗?我也遇见了这个问题

894096697 avatar Sep 24 '21 07:09 894096697

解决了吗?我也遇见了这个问题, 我也是阿里云 4.0社区版 1G主从版

xj728 avatar Jun 21 '22 02:06 xj728

CSRedisClient对象被释放再使用就会这个错误。

连接串autoDispose=false看下说明

2881099 avatar Jun 21 '22 03:06 2881099