Commit Graph

97 Commits

Author SHA1 Message Date
大石头 5f803cfa50 优化非集群模式时ToDictionary使用,减少GC 2025-02-02 11:52:00 +08:00
大石头 1b16e8369d 优化字符串数组和Object数组使用,减少GC分配 2025-02-02 10:52:23 +08:00
Li11Li 8dee8a985f
Update FullRedis.cs
获取hash表所有数据
2025-01-03 18:15:33 +08:00
大石头 2b0f3b131b 为了提升性能,在同步调用异步时规避卡UI上下文,所有await状态机都设置ConfigureAwait(false),开启CA2007并视为编译错误。减少不必要的await状态机 2024-11-30 23:18:11 +08:00
大石头 e949c22053 [fix]注册ICacheProvider时,需要自动注入前置依赖项。fix: https://github.com/NewLifeX/X/issues/150 2024-10-17 11:33:09 +08:00
大石头 ed81bbf041 Merge branch 'master' into dev 2024-10-04 14:02:10 +08:00
智能大石头 eaaaebdcd3 优化ToHex使用和Pool.Return使用 2024-09-24 08:04:47 +08:00
xubh 3aa9370158 FullRedis构造函数增加用户名 2024-09-21 16:16:50 +08:00
大石头 1b6bd444c3 Packet数据封包全面替换为IPacket 2024-08-30 15:55:51 +08:00
大石头 c75d2ac66b 完全使用IPacketEncoder编码器来编解码消息 2024-06-29 22:18:10 +08:00
Andy Wu b62f8d80fc 修复申请分布式锁未使用Key前缀的BUG 2024-05-22 10:08:12 +08:00
liufx 9b1db47f98 增加option.Timeout判断,防止出现连接超时情况 2024-04-09 15:43:00 +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
大石头 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
智能大石头 4b7c974d17 收到RedisException异常时,说明是Redis服务端返回异常信息,此时禁止重试 2024-02-22 22:25:03 +08:00
大石头 121f53d0cb [fix] 修正非集群模式时批量处理keys的bug,该bug导致少数批处理高级功能遗失数据,只剩下第一条。该bug的发现来自于单元测试。 2024-01-31 22:45:31 +08:00
jackehuang 2a7573c966 Merge branch 'master' of https://github.com/NewLifeX/NewLife.Redis 2024-01-05 11:01:32 +08:00
jackehuang cf6bcb3adf fix: fix cluster remove keys 2024-01-05 11:01:29 +08:00
jackehuang a0a9dfc901 fix: fix cluster scan 2024-01-04 13:46:03 +08:00
大石头 fdec2496bb GetAll/SetAll支持集群分批 2024-01-01 17:46:07 +08:00
大石头 5a061b7da0 [feat]支持在集群中执行批量删除,按keys所在节点分组,然后各个节点批量删除。close https://github.com/NewLifeX/NewLife.Redis/issues/120 2024-01-01 17:17:36 +08:00
大石头 3c934b03dd TrimNull 2023-11-25 09:46:34 +08:00
荣少 78d571be88 Redis注入,Tracer性能跟踪器字段赋值 2023-09-15 15:31:11 +08:00
智能大石头 848d31daa0 新增AutoDetect,控制是否自动检测从库等集群节点。close: https://gitee.com/NewLifeX/NewLife.Redis/issues/I7TGTH 2023-08-29 00:03:21 +08:00
大石头 6dea75e0b5 !!!重大变更,Redis指令失败后,默认重试3次,而不管怎么样的异常。 2023-05-29 08:36:51 +08:00
智能大石头 0f485d545d 多维度创建RedisClient,都可以显示客户端日志 2023-05-12 07:22:56 +08:00
黎更荣 da3e8a6424 1、Redis修改Execute、ExecuteAsync方法中的func参数,便于支持PrefixedRedis
2、PrefixedRedis,除GetList,RPOPLPUSH\BRPOPLPUSH不支持destKey参数加前缀,其他方法基本支持键前缀
2023-05-11 11:29:16 +08:00
大石头 4e63920ac3 特别支持kvrocks(底层RockDB) 2023-04-11 17:22:19 +08:00
大石头 3b35838910 每个集群节点连续出错一定次数后才去屏蔽,避免网络波动导致整体不可用 2023-04-03 21:15:37 +08:00
大石头 8bb3cf295f FullRedis为集群和主从节点准备连接池,避免连接池被反复销毁 2023-04-03 20:38:21 +08:00
大石头 2cd40920cf Redis命令日志独立 2023-04-03 17:03:00 +08:00
大石头 04d7738994 哨兵背后,可能是主从复制,也可能是集群 2023-03-12 18:22:27 +08:00
大石头 dca58a1404 部分命令与key无关,不需要经过集群分流 2023-03-12 17:57:56 +08:00
大石头 518ea0a778 主从复制不返回node,而是直接修改Host的地址列表,让主机保持FailOver故障转移能力。哨兵还需要优化,它背后可能是主从复制,也可能是Cluster 2023-03-12 00:29:00 +08:00
大石头 b8374a8932 某个节点访问异常时,自动屏蔽一段时间 2023-03-07 18:02:23 +08:00
大石头 a55e56d3c0 支持根据从节点探索主节点,从而得到全部节点。支持连接字符串内配置有无效节点。 2023-03-07 14:37:56 +08:00
大石头 f3120e645f 自动根据master找出来slave 2023-03-07 13:09:56 +08:00
大石头 d8c358d8c0 循环探索发现主从复制的所有节点 2023-03-07 12:52:32 +08:00
大石头 a090d20b8b 如果不是写入,也可以使用从节点。当主节点故障时,(可能哨兵尚未选出新的主节点),继续保障读取型业务。 2023-03-06 00:17:48 +08:00
大石头 f6125372fd 新增命名空间Queues和Services 2023-03-05 23:13:40 +08:00
大石头 82e3a59543 新增Redis主从复制深度支持,自动发现从节点 2023-03-05 22:58:07 +08:00
大石头 e1dd000498 add 增加标准的AddRedis依赖注入 2022-08-10 11:21:30 +08:00
大石头 ccf93f3715 fix: 修正集群初始化调整所带来的死循环,该问题导致进程崩溃 2022-06-03 18:05:43 +08:00
大石头 e1caaad8d0 优化对集群的支持,避免没有使用Init初始化的FullRedis对象无法使用集群功能 2022-05-11 17:45:37 +08:00
大石头 445eb1d4ac 更新文档地址 2022-04-15 12:59:30 +08:00
大石头 85ae295f83 定时刷新集群节点列表 2022-03-14 18:04:55 +08:00