Commit Graph

676 Commits

Author SHA1 Message Date
大石头 c4d6505eaf Upgrade Nuget 2024-09-03 08:44:38 +08:00
大石头 d6109e6b6c 中间组件依赖的目标版本尽量小 2024-09-02 16:39:15 +08:00
大石头 1f3d8b89f8 [fix]修正HyperLogLog.Merge对Key前缀的支持 2024-08-31 07:37:01 +08:00
大石头 1b6bd444c3 Packet数据封包全面替换为IPacket 2024-08-30 15:55:51 +08:00
大石头 3adfa7d67e Upgrade Nuget 2024-08-30 14:10:08 +08:00
大石头 049bc35f5f Upgrade Nuget 2024-08-29 22:42:40 +08:00
智能大石头 2d64120f8e 引入MemorySegment,解决同时传递IMemoryOwner和有效长度的问题。普通指令已满足要求,更复杂的指令,需要更改原来使用Packet的解析代码 2024-08-28 08:33:09 +08:00
智能大石头 6497cdf009 使用IMemoryOwner分配内存池,用于解析响应数据,减少内存分配。内存块已通过IMemoryOwner向上传递,上方取用后释放,但是未能把长度向上传递,可能还需要封装一个结构体。 2024-08-28 00:36:19 +08:00
智能大石头 496da09441 减少字典的Resize 2024-08-27 22:16:04 +08:00
大石头 7f7afecbfd 完善SpanWriter 2024-08-27 20:38:18 +08:00
大石头 daab2d61ff 执行命令前,先把参数Encode编码为字符串或字节数组,方便Span写入。其实绝大部分场景都是字符串。Byte[]分配下降到263M。 2024-08-27 13:24:57 +08:00
大石头 f8355fb54d [fix]修正HyperLogLog.Merge对Key前缀的支持 2024-08-27 11:23:32 +08:00
大石头 fab8aca6ef 限制1M以内数组从缓冲池里面借,更大数组直接分配 2024-08-27 10:35:56 +08:00
智能大石头 ef1ecbecfb 采用Span优化Encode,对于字符串,直接编码转换,避免再次分配字节数组。字节数组分配降到772M,现在的问题是,无法准确估算缓冲区大小,导致借出内存过大,产生LOH分配。 2024-08-27 02:15:00 +08:00
智能大石头 d36e34e11b 使用Span封装请求,借用内存池 2024-08-27 01:51:30 +08:00
智能大石头 503966ba5f 跑Bench压测后分析内存,Byte[]分配2.5G,去掉缓冲流后分配905M;
RedisClient去掉同步方法,主要保留异步方法;
2024-08-26 23:36:33 +08:00
智能大石头 ba6266300f v6.0 开启内存优化 2024-08-26 22:44:03 +08:00
大石头 826ccc1e60 v5.7.2024.0801 2024-08-01 18:38:51 +08:00
猿人易 3cf5eb501b 为 Redis 构造函数添加基类构造函数调用
在 `Redis.cs` 文件中,对 `Redis` 类的多个构造函数进行了修改,添加了对基类构造函数的调用 `: this()`。
- 修改了 `public Redis(String server, String password, Int32 db)` 构造函数,添加了 `: this()` 调用。
- 修改了 `public Redis(String server, String username, String password, Int32 db)` 构造函数,添加了 `: this()` 调用。
- 修改了 `public Redis(IServiceProvider provider, String name)` 构造函数,添加了 `: this()` 调用。
- 修改了 `public Redis(String name)` 构造函数,添加了 `: this()` 调用。
2024-07-09 16:04:07 +08:00
大石头 b14b5e83cd 初始化Json序列化 2024-07-09 15:31:58 +08:00
大石头 5e3c683250 JsonHost 2024-07-09 15:15:58 +08:00
大石头 851590a8a2 Merge branch 'master' of http://git.newlifex.com/NewLife/NewLife.Redis 2024-07-09 10:38:18 +08:00
Andy Wu 2b2b5ea608 修正RedisCache分布式缓存设置前缀无效的BUG,并添加单元测试 2024-07-09 00:22:04 +08:00
智能大石头 5be96e21c4 优化CI脚本 2024-07-09 00:06:57 +08:00
大石头 f42f1ff1d1 v5.7.2024.0701 2024-07-01 09:04:21 +08:00
大石头 c75d2ac66b 完全使用IPacketEncoder编码器来编解码消息 2024-06-29 22:18:10 +08:00
智能大石头 95e7f065f6 [fix]HASH支持返回空元素。fix: https://github.com/NewLifeX/NewLife.Redis/issues/130 2024-06-17 23:04:14 +08:00
大石头 df1a267119 v5.7.2024.0602 默认使用System.Text.Json序列化;支持DateOnly/TimeOnly 2024-06-02 12:55:15 +08:00
智能大石头 b8fc623afb [improv]默认使用System.Text.Json序列化,兜底为内部FastJson。fix: https://github.com/NewLifeX/NewLife.Redis/issues/131。fix: https://github.com/NewLifeX/NewLife.Redis/issues/132 2024-05-26 23:45:25 +08:00
Andy Wu b108368e2f 消除单元测试生成时警告信息 2024-05-22 10:09:08 +08:00
Andy Wu b62f8d80fc 修复申请分布式锁未使用Key前缀的BUG 2024-05-22 10:08:12 +08:00
智能大石头 3657d9dc3b v5.5 支持可空类型,修正一些bug 2024-05-08 20:47:49 +08:00
智能大石头 4b6dc22326 支持可空类型,遇到无数据时返回null 2024-04-20 06:40:56 +08:00
大石头 720da82195 [fix]解码Redis响应数据时,支持可空类型 2024-04-19 16:18:05 +08:00
大石头 ca27efadcc [fix]修正GetInfo用第一个地址无法访问时没有轮询后续地址的问题。fix: https://github.com/NewLifeX/NewLife.Redis/issues/127 2024-04-11 11:26:55 +08:00
Stone e2335bcd57
Merge pull request #129 from Axinyp/master
增加option.Timeout判断,防止出现连接超时情况
2024-04-09 15:50:57 +08:00
liufx 9b1db47f98 增加option.Timeout判断,防止出现连接超时情况 2024-04-09 15:43:00 +08:00
Stone 9f3407dd48
Merge pull request #128 from Axinyp/master
修复超时时间没有默认值导致连接超时的bug
2024-04-09 15:25:31 +08:00
liufx d3f53954a8 去除Prefix配置项 “只适用于PrefixedRedis” 注释 2024-04-09 15:23:06 +08:00
liufx 43c2576f09 修复超时时间没有默认值导致连接超时的bug 2024-04-09 15:16:31 +08:00
大石头 87d4f908f4 注入FullRedis,应用内可使用FullRedis/Redis/ICache/ICacheProvider 2024-04-03 11:33:02 +08:00
智能大石头 3f2d93935d v5.6 FullRedis支持前缀;AutoDetect默认关闭 2024-04-03 01:32:21 +08:00
大石头 c5859bf331 [feat] IRedisCluster增加节点改变事件NodeChanged,集群节点变化时触发事件。 2024-03-18 17:26:12 +08:00
大石头 f37f3c4c4c 自动检测集群节点AutoDetect默认值修改为false。公有云Redis一般放在代理背后,主从架构,如果开启自动检测,将会自动识别主从,导致得到无法连接的内网主从库地址。 2024-03-18 00:38:31 +08:00
大石头 b06fc61926 [feat] Redis键前缀移入FullRedis,作为增强功能 2024-03-18 00:31:51 +08:00
大石头 7c6c06c489 [fix] Redis支持{}来固定到某个特定节点。fix https://github.com/NewLifeX/NewLife.Redis/issues/125 2024-03-07 16:43:16 +08:00
大石头 a2c513356a v5.6 RedisStream支持按时间清理过期消息 2024-03-04 21:04:38 +08:00
大石头 b10d7167a0 [fix] 探索主从集群时,遇到报错报错目前节点不可达。实际从节点正常,只是可能是内网节点导致无法连接,需要屏蔽一段时间,指数级增加屏蔽时间。fix https://github.com/NewLifeX/NewLife.Redis/issues/123 2024-03-04 20:47:08 +08:00
大石头 6af0e4f9ec [fix] 修正BLPOP弹出字符串时Json反序列化报错。fix https://github.com/NewLifeX/NewLife.Redis/issues/124 2024-03-04 15:10:31 +08:00
智能大石头 3e2cbea6c3 [feat] RedisStream新增Expire,消息有效时间。若指定,将定期删除该时间以前的消息。在IoT等系统中,有些队列数据量比较小,100万条消息将会覆盖非常长的时间,意义不大。 2024-02-22 22:43:58 +08:00