DH.NRedis.Extensions 3.7.2024.821-beta0308

This is a prerelease version of DH.NRedis.Extensions.
There is a newer version of this package available.
See the version list below for details.
dotnet add package DH.NRedis.Extensions --version 3.7.2024.821-beta0308                
NuGet\Install-Package DH.NRedis.Extensions -Version 3.7.2024.821-beta0308                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DH.NRedis.Extensions" Version="3.7.2024.821-beta0308" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DH.NRedis.Extensions --version 3.7.2024.821-beta0308                
#r "nuget: DH.NRedis.Extensions, 3.7.2024.821-beta0308"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DH.NRedis.Extensions as a Cake Addin
#addin nuget:?package=DH.NRedis.Extensions&version=3.7.2024.821-beta0308&prerelease

// Install DH.NRedis.Extensions as a Cake Tool
#tool nuget:?package=DH.NRedis.Extensions&version=3.7.2024.821-beta0308&prerelease                

DH.NRedis - Redis客户端组件

DH.NRedis 是一个Redis客户端组件,以高性能处理大数据实时计算为目标。
Redis协议基础实现Redis/RedisClient位于X组件,本库为扩展实现,主要增加列表结构、哈希结构、队列等高级功能。


特性

  • 2017年在ZTO大数据实时计算广泛应用,200多个Redis实例稳定工作一年多,每天处理近1亿条包裹数据,日均调用量80亿次
  • 低延迟,Get/Set操作平均耗时200~600us(含往返网络通信)
  • 大吞吐,自带连接池,最大支持100000并发
  • 高性能,支持二进制序列化

Redis经验分享

  • 在Linux上多实例部署,实例个数等于处理器个数,各实例最大内存直接为本机物理内存,避免单个实例内存撑爆
  • 把海量数据(10亿+)根据key哈希(Crc16/Crc32)存放在多个实例上,读写性能成倍增长
  • 采用二进制序列化,而非常见Json序列化
  • 合理设计每一对Key的Value大小,包括但不限于使用批量获取,原则是让每次网络包控制在1.4k字节附近,减少通信次数
  • Redis客户端的Get/Set操作平均耗时200~600us(含往返网络通信),以此为参考评估网络环境和Redis客户端组件
  • 使用管道Pipeline合并一批命令
  • Redis的主要性能瓶颈是序列化、网络带宽和内存大小,滥用时处理器也会达到瓶颈
  • 其它可查优化技巧 以上经验,源自于300多个实例4T以上空间一年多稳定工作的经验,并按照重要程度排了先后顺序,可根据场景需要酌情采用!

推荐用法

推荐使用单例模式,Redis内部有连接池并且支持多线程并发访问

public static class RedisHelper
{
    /// <summary>
    /// Redis实例
    /// </summary>
    public static FullRedis redisConnection { get; set; } = new FullRedis("127.0.0.1:6379", "123456", 4);
}

Console.WriteLine(RedisHelper.redisConnection.Keys);

基础 Redis

Redis实现标准协议以及基础字符串操作,完整实现由独立开源项目NewLife.Redis提供。
采取连接池加同步阻塞架构,具有超低延迟(200~600us)以及超高吞吐量的特点。
在物流行业大数据实时计算中广泛应有,经过日均100亿次调用量验证。

// 实例化Redis,默认端口6379可以省略,密码有两种写法
//var rds = new FullRedis("127.0.0.1", null, 7);
var rds = new FullRedis("127.0.0.1:6379", "pass", 7);
//var rds = new FullRedis();
//rds.Init("server=127.0.0.1:6379;password=pass;db=7");
rds.Log = XTrace.Log;

基本操作

在基本操作之前,我们先做一些准备工作:

  • 新建控制台项目,并在入口函数开头加上 XTrace.UseConsole(); ,这是为了方便查看调试日志
  • 具体测试代码之前,需要加上前面MemoryCache或Redis的实例化代码
  • 准备一个模型类User
class User
{
    public String Name { get; set; }
    public DateTime CreateTime { get; set; }
}

添删改查:

var rds = new FullRedis("127.0.0.1", null, 7);
rds.Log = XTrace.Log;
rds.ClientLog = XTrace.Log; // 调试日志。正式使用时注释
var user = new User { Name = "NewLife", CreateTime = DateTime.Now };
rds.Set("user", user, 3600);
var user2 = rds.Get<User>("user");
XTrace.WriteLine("Json: {0}", user2.ToJson());
XTrace.WriteLine("Json: {0}", rds.Get<String>("user"));
if (rds.ContainsKey("user")) XTrace.WriteLine("存在!");
rds.Remove("user");

执行结果:

14:14:25.990  1 N - SELECT 7
14:14:25.992  1 N - => OK
14:14:26.008  1 N - SETEX user 3600 [53]
14:14:26.021  1 N - => OK
14:14:26.042  1 N - GET user
14:14:26.048  1 N - => [53]
14:14:26.064  1 N - GET user
14:14:26.065  1 N - => [53]
14:14:26.066  1 N - Json: {"Name":"NewLife","CreateTime":"2018-09-25 14:14:25"}
14:14:26.067  1 N - EXISTS user
14:14:26.068  1 N - => 1
14:14:26.068  1 N - 存在!
14:14:26.069  1 N - DEL user
14:14:26.070  1 N - => 1

保存复杂对象时,默认采用Json序列化,所以上面可以按字符串把结果取回来,发现正是Json字符串。
Redis的strings,实质上就是带有长度前缀的二进制数据,[53]表示一段53字节长度的二进制数据。

集合操作

GetAll/SetAll 在Redis上是很常用的批量操作,同时获取或设置多个key,一般有10倍以上吞吐量。

批量操作:

var rds = new FullRedis("127.0.0.1", null, 7);
rds.Log = XTrace.Log;
rds.ClientLog = XTrace.Log; // 调试日志。正式使用时注释
var dic = new Dictionary<String, Object>
{
    ["name"] = "NewLife",
    ["time"] = DateTime.Now,
    ["count"] = 1234
};
rds.SetAll(dic, 120);

var vs = rds.GetAll<String>(dic.Keys);
XTrace.WriteLine(vs.Join(",", e => $"{e.Key}={e.Value}"));

执行结果:

MSET name NewLife time 2018-09-25 15:56:26 count 1234
=> OK
EXPIRE name 120
EXPIRE time 120
EXPIRE count 120
MGET name time count
name=NewLife,time=2018-09-25 15:56:26,count=1234

集合操作里面还有 GetList/GetDictionary/GetQueue/GetSet 四个类型集合,分别代表Redis的列表、哈希、队列、Set集合等。
基础版Redis不支持这四个集合,完整版NewLife.Redis支持,MemoryCache则直接支持。

高级操作

  • Add 添加,当key不存在时添加,已存在时返回false。
  • Replace 替换,替换已有值为新值,返回旧值。
  • Increment 累加,原子操作
  • Decrement 递减,原子操作

高级操作:

var rds = new FullRedis("127.0.0.1", null, 7);
rds.Log = XTrace.Log;
rds.ClientLog = XTrace.Log; // 调试日志。正式使用时注释
var flag = rds.Add("count", 5678);
XTrace.WriteLine(flag ? "Add成功" : "Add失败");
var ori = rds.Replace("count", 777);
var count = rds.Get<Int32>("count");
XTrace.WriteLine("count由{0}替换为{1}", ori, count);

rds.Increment("count", 11);
var count2 = rds.Decrement("count", 10);
XTrace.WriteLine("count={0}", count2);

执行结果:

SETNX count 5678
=> 0
Add失败
GETSET count 777
=> 1234
GET count
=> 777
count由1234替换为777
INCRBY count 11
=> 788
DECRBY count 10
=> 778
count=778

性能测试

Bench 会分根据线程数分多组进行添删改压力测试。
rand 参数,是否随机产生key/value。
batch 批大小,分批执行读写操作,借助GetAll/SetAll进行优化。

Redis默认设置AutoPipeline=100,无分批时打开管道操作,对添删改优化。

Redis的兄弟姐妹

Redis实现ICache接口,它的孪生兄弟MemoryCache,内存缓存,千万级吞吐率。
各应用强烈建议使用ICache接口编码设计,小数据时使用MemoryCache实现;
数据增大(10万)以后,改用Redis实现,不需要修改业务代码。

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 is compatible. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.0.2024.1213-beta1019 88 12/13/2024
4.0.2024.1206-beta0112 75 12/6/2024
4.0.2024.1204-beta0337 75 12/4/2024
4.0.2024.1201-beta0334 63 12/1/2024
4.0.2024.1126-beta0234 92 11/26/2024
4.0.2024.1123-beta0939 66 11/23/2024
4.0.2024.1119-beta0731 63 11/19/2024
4.0.2024.1114-beta0650 73 11/14/2024
4.0.2024.1114-beta0608 39 11/14/2024
3.91.2024.1112-beta0844 48 11/12/2024
3.91.2024.1109-beta0248 51 11/9/2024
3.91.2024.1104-beta0356 45 11/4/2024
3.91.2024.1101-beta0242 43 11/1/2024
3.91.2024.1031 87 10/31/2024
3.91.2024.1031-beta1112 67 10/31/2024
3.91.2024.1031-beta1107 59 10/31/2024
3.91.2024.1031-beta1106 66 10/31/2024
3.91.2024.1021-beta0734 74 10/21/2024
3.91.2024.1021-beta0725 52 10/21/2024
3.91.2024.1015-beta1006 65 10/15/2024
3.91.2024.1015-beta0956 64 10/15/2024
3.91.2024.1013-beta0832 77 10/13/2024
3.91.2024.1012-beta0303 72 10/12/2024
3.91.2024.1010-beta0633 75 10/10/2024
3.91.2024.1008-beta0919 79 10/8/2024
3.91.2024.1008-beta0342 69 10/8/2024
3.91.2024.1008-beta0328 68 10/8/2024
3.91.2024.1008-beta0321 66 10/8/2024
3.91.2024.925-beta0644 69 9/25/2024
3.91.2024.923-beta0226 73 9/23/2024
3.91.2024.922-beta0349 78 9/22/2024
3.9.2024.9210003 81 9/21/2024
3.9.2024.9210002 85 9/21/2024
3.8.2024.922-beta0347 69 9/22/2024
3.8.2024.921-beta0953 72 9/21/2024
3.8.2024.920-beta0130 90 9/20/2024
3.8.2024.919-beta0806 81 9/19/2024
3.8.2024.918-beta1131 78 9/18/2024
3.8.2024.918-beta0923 65 9/18/2024
3.8.2024.918-beta0917 72 9/18/2024
3.8.2024.913-beta0631 101 9/13/2024
3.8.2024.911-beta1434 109 9/11/2024
3.8.2024.907-beta0155 110 9/7/2024
3.8.2024.903-beta0542 96 9/3/2024
3.8.2024.828-beta0703 103 8/28/2024
3.8.2024.828-beta0135 84 8/28/2024
3.8.2024.828-beta0131 90 8/28/2024
3.8.2024.828-beta0130 76 8/28/2024
3.8.2024.828-beta0122 74 8/28/2024
3.8.2024.828-beta0120 80 8/28/2024
3.8.2024.828-beta0111 79 8/28/2024
3.8.2024.828-beta0109 79 8/28/2024
3.7.2024.826-beta0225 103 8/26/2024
3.7.2024.821-beta0308 117 8/21/2024
3.7.2024.820 136 8/20/2024
3.7.2024.820-beta0628 101 8/20/2024
3.7.2024.819-beta1255 102 8/19/2024
3.6.2024.8160165 124 8/16/2024
3.6.2024.8150164 127 8/15/2024
3.6.2024.8140163 119 8/14/2024
3.6.2024.8140162 114 8/14/2024
3.6.2024.8140161 125 8/14/2024
3.6.2024.8130160 121 8/13/2024
3.6.2024.8130159 115 8/13/2024
3.6.2024.8130158 110 8/13/2024
3.6.2024.8130156 126 8/13/2024
3.6.2024.8130155 119 8/13/2024
3.6.2024.8120153 115 8/12/2024
3.6.2024.8120151 113 8/12/2024
3.6.2024.8110150 107 8/11/2024
3.6.2024.8100148 111 8/10/2024
3.6.2024.8100147 112 8/9/2024
3.6.2024.8090146 102 8/9/2024
3.6.2024.8090145 107 8/9/2024
3.6.2024.8080141 97 8/8/2024
3.6.2024.8070140 96 8/7/2024
3.6.2024.8070139 89 8/7/2024
3.6.2024.8070138 98 8/7/2024
3.6.2024.8050137 63 8/5/2024
3.6.2024.8050135 62 8/5/2024
3.6.2024.8040134 71 12/13/2024
3.6.2024.8040133 71 8/4/2024
3.6.2024.8030132 61 8/3/2024
3.6.2024.8020131 64 8/2/2024
3.6.2024.8010128 77 8/1/2024
3.6.2024.7310126 56 7/31/2024
3.6.2024.7300125 64 7/30/2024
3.6.2024.7290124 85 7/29/2024
3.6.2024.7270123 87 7/27/2024
3.6.2024.7260122 92 7/26/2024
3.6.2024.7240120 87 7/24/2024
3.6.2024.7230119 79 7/23/2024
3.6.2024.7220118 117 7/22/2024
3.6.2024.7220114 94 7/22/2024
3.6.2024.7220113 93 7/22/2024
3.6.2024.7190112 97 7/19/2024
3.6.2024.7190111 91 7/19/2024
3.6.2024.7180110 91 7/18/2024
3.6.2024.7170109 104 7/17/2024
3.6.2024.7160108 98 7/16/2024
3.6.2024.7160107 103 7/16/2024
3.6.2024.7150106 97 7/15/2024
3.6.2024.7150105 97 7/15/2024
3.6.2024.7130104 107 7/13/2024
3.6.2024.7130103 99 7/13/2024
3.6.2024.7120102 98 7/12/2024
3.6.2024.7110101 99 7/11/2024
3.6.2024.7100100 86 7/10/2024
3.6.2024.7090099 89 7/9/2024
3.6.2024.7090098 101 7/9/2024
3.6.2024.7090097 78 7/9/2024
3.6.2024.7090096 103 7/8/2024
3.6.2024.7080095 97 7/8/2024
3.6.2024.7080094 84 7/8/2024
3.6.2024.7080091 95 7/8/2024
3.6.2024.7050090 121 7/5/2024
3.6.2024.7040089 106 7/4/2024
3.6.2024.7030088 109 7/3/2024
3.6.2024.7020087 87 7/2/2024
3.6.2024.7020086 112 7/2/2024
3.6.2024.7010085 100 7/1/2024
3.6.2024.7010084 95 7/1/2024
3.6.2024.6290083 106 6/29/2024
3.6.2024.6280082 103 6/28/2024
3.6.2024.6270081 98 6/27/2024
3.6.2024.6260080 97 6/26/2024
3.6.2024.6250079 93 6/25/2024
3.6.2024.6250078 97 6/25/2024
3.6.2024.6250077 103 6/24/2024
3.6.2024.6240076 97 6/24/2024
3.6.2024.6240075 104 6/24/2024
3.6.2024.6200074 106 6/20/2024
3.6.2024.6190073 113 6/19/2024
3.6.2024.6180072 122 6/18/2024
3.6.2024.6170071 100 6/17/2024
3.6.2024.6150070 94 6/15/2024
3.6.2024.6140069 95 6/14/2024
3.6.2024.6130068 105 6/13/2024
3.6.2024.6130067 97 6/13/2024
3.6.2024.6120062 90 6/12/2024
3.6.2024.6120061 93 6/12/2024
3.6.2024.6110060 99 6/11/2024
3.6.2024.6090059 107 6/9/2024
3.6.2024.6060058 113 6/6/2024
3.6.2024.6050057 120 6/5/2024
3.6.2024.6040056 114 6/4/2024
3.6.2024.6030055 85 6/3/2024
3.6.2024.5310054 111 5/31/2024
3.6.2024.5300053 99 5/30/2024
3.6.2024.5290052 116 5/29/2024
3.6.2024.5290051 106 5/29/2024
3.6.2024.5280050 99 5/28/2024
3.6.2024.5270049 98 5/27/2024
3.6.2024.5250048 107 5/25/2024
3.6.2024.5250047 104 5/25/2024
3.6.2024.5240046 103 5/24/2024
3.6.2024.5240045 104 5/24/2024
3.6.2024.5240044 107 5/24/2024
3.6.2024.5240043 101 5/24/2024
3.6.2024.5230039 103 5/23/2024
3.6.2024.5230038 104 5/23/2024
3.6.2024.5230037 110 5/23/2024
3.6.2024.5220036 97 5/23/2024
3.6.2024.5220035 99 5/22/2024
3.6.2024.5220034 101 5/22/2024
3.6.2024.5210033 99 5/21/2024
3.6.2024.5210032 99 5/21/2024
3.6.2024.5200031 76 5/20/2024
3.6.2024.5170030 87 5/17/2024
3.6.2024.5160029 80 5/16/2024
3.6.2024.5160028 85 5/16/2024
3.6.2024.5150027 104 5/15/2024
3.6.2024.5140026 84 5/14/2024
3.6.2024.5130025 104 5/13/2024
3.6.2024.5130024 107 5/13/2024
3.6.2024.5110024 105 5/11/2024
3.6.2024.5110023 105 5/11/2024
3.6.2024.5110022 107 5/11/2024
3.6.2024.5100021 113 5/10/2024
3.6.2024.5100020 110 5/10/2024
3.6.2024.5090019 130 5/9/2024
3.6.2024.5080018 110 5/8/2024
3.6.2024.5080017 117 5/8/2024
3.6.2024.5070016 120 5/7/2024
3.6.2024.5060014 109 5/6/2024
3.6.2024.5060010 126 5/6/2024
3.6.2024.5050009 113 5/5/2024
3.6.2024.4290008 104 4/29/2024
3.6.2024.4280007 96 4/28/2024
3.6.2024.4280006 101 4/28/2024
3.6.2024.4260005 100 4/26/2024
3.6.2024.4260004 98 4/26/2024
3.6.2024.4250003 101 4/25/2024
3.6.2024.4250002 110 4/25/2024
3.6.2024.4240001 111 4/24/2024
3.5.2024.4230239 103 4/23/2024
3.5.2024.4220237 118 4/22/2024
3.5.2024.4210236 116 4/21/2024
3.5.2024.4200235 117 4/20/2024
3.5.2024.4190232 110 4/19/2024
3.5.2024.4180230 113 4/18/2024
3.5.2024.4180229 111 4/18/2024
3.5.2024.4170228 129 4/17/2024
3.5.2024.4170226 110 4/17/2024
3.5.2024.4170225 118 4/17/2024
3.5.2024.4160223 113 4/16/2024
3.5.2024.4150222 118 4/15/2024
3.5.2024.4130221 103 4/18/2024
3.5.2024.4110220 106 4/12/2024
3.5.2024.4110219 122 4/12/2024
3.5.2024.4100218 116 4/10/2024
3.5.2024.4100217 117 4/10/2024
3.5.2024.4100216 109 4/10/2024
3.5.2024.4090215 115 4/9/2024
3.5.2024.4080214 111 4/8/2024
3.5.2024.4070213 123 4/7/2024
3.5.2024.4020210 119 4/2/2024
3.5.2024.4020209 127 4/2/2024
3.5.2024.4010208 105 4/1/2024
3.5.2024.3300207 119 3/30/2024
3.5.2024.3300206 104 3/30/2024
3.5.2024.3300205 115 3/30/2024
3.5.2024.3290204 106 3/29/2024
3.5.2024.3280203 115 3/28/2024
3.5.2024.3270202 100 3/27/2024
3.5.2024.3270201 111 3/27/2024
3.5.2024.3250200 121 3/25/2024
3.5.2024.3220198 131 3/22/2024
3.5.2024.3210197 119 3/21/2024
3.5.2024.3200196 141 3/20/2024
3.5.2024.3190195 119 3/19/2024
3.5.2024.3180194 108 3/18/2024
3.5.2024.3170192 110 3/17/2024
3.5.2024.3160191 103 3/16/2024
3.5.2024.3150190 113 3/15/2024
3.5.2024.3130189 115 3/13/2024
3.5.2024.3110188 126 3/11/2024
3.5.2024.3100187 129 3/10/2024
3.5.2024.3100186 118 3/10/2024
3.5.2024.3100185 106 3/10/2024
3.5.2024.3070184 117 3/7/2024
3.5.2024.3070183 115 3/7/2024
3.5.2024.3070179 111 3/7/2024
3.5.2024.3070178 106 3/7/2024
3.5.2024.3060177 110 3/6/2024
3.5.2024.3050175 130 3/5/2024
3.5.2024.3040174 114 3/4/2024
3.5.2024.3040173 125 3/4/2024
3.5.2024.3020172 121 3/2/2024
3.5.2024.3020171 124 3/2/2024
3.5.2024.3020170 126 3/4/2024
3.5.2024.3020169 123 3/2/2024
3.5.2024.3020168 115 3/2/2024
3.5.2024.3020167 116 3/2/2024
3.5.2024.3020166 130 3/2/2024
3.5.2024.3010165 136 3/1/2024
3.5.2024.2290164 123 2/29/2024
3.5.2024.2290163 105 2/29/2024
3.5.2024.2290161 121 2/29/2024
3.5.2024.2280159 114 2/28/2024
3.5.2024.2270157 105 2/27/2024
3.5.2024.2230155 120 2/23/2024
3.5.2024.2210153 120 2/21/2024
3.5.2024.2190152 115 2/19/2024
3.5.2024.2180150 118 2/18/2024
3.5.2024.2170148 118 2/18/2024
3.5.2024.1280144 137 1/28/2024
3.5.2024.1280143 109 1/28/2024
3.5.2024.1260143 115 2/18/2024
3.5.2024.1260142 116 1/26/2024
3.5.2024.1240139 120 1/24/2024
3.5.2024.1240136 120 1/24/2024
3.5.2024.1240135 118 1/24/2024
3.5.2024.1240132 118 1/24/2024
3.5.2024.1230131 122 1/23/2024
3.5.2024.1230130 106 1/23/2024
3.5.2024.1220129 118 1/22/2024
3.5.2024.1190128 119 1/19/2024
3.5.2024.1180124 112 1/18/2024
3.5.2024.1170123 114 1/18/2024
3.5.2024.1160122 117 1/16/2024
3.5.2024.1160121 120 1/16/2024
3.5.2024.1150119 137 1/15/2024
3.5.2024.1150118 132 1/15/2024
3.5.2024.1150117 117 1/15/2024
3.5.2024.1150116 127 1/15/2024
3.5.2024.1150115 120 1/15/2024
3.5.2024.1150114 119 1/14/2024
3.4.2024.1120104 132 1/12/2024
3.4.2024.1120103 128 1/12/2024
3.4.2024.1120102 112 1/12/2024
3.4.2024.1120100 121 1/12/2024
3.4.2024.1120099 122 1/12/2024
3.4.2024.1120098 133 1/12/2024
3.4.2024.1120096 122 1/12/2024
3.4.2024.1120095 128 1/11/2024
3.4.2024.1110094 135 1/11/2024
3.4.2024.1110093 137 1/11/2024
3.4.2024.1100092 125 1/10/2024
3.4.2024.1090091 117 1/9/2024
3.4.2024.1080090 128 1/8/2024
3.4.2024.1080089 135 1/8/2024
3.4.2024.1060088 140 1/6/2024
3.4.2024.1040086 130 1/4/2024
3.4.2024.1030085 132 1/3/2024
3.4.2024.1030084 135 1/3/2024
3.4.2024.1030083 136 1/3/2024
3.4.2024.1020082 129 1/2/2024
3.4.2024.1020081 132 1/2/2024
3.4.2024.1020080 135 1/2/2024
3.4.2023.12290079 130 12/29/2023
3.4.2023.12280078 145 12/28/2023
3.4.2023.12280077 133 12/28/2023
3.4.2023.12270076 119 12/27/2023
3.4.2023.12270075 129 12/27/2023
3.4.2023.12260068 137 12/26/2023
3.4.2023.12220067 135 12/22/2023
3.4.2023.12200066 131 12/20/2023
3.4.2023.12200065 122 12/20/2023
3.4.2023.12190064 134 12/19/2023
3.4.2023.12180061 141 12/18/2023
3.4.2023.12180060 136 12/18/2023
3.4.2023.12150059 141 12/15/2023
3.4.2023.12140058 151 12/14/2023
3.4.2023.12140054 148 12/14/2023
3.4.2023.12140053 140 12/14/2023
3.4.2023.12130052 123 12/13/2023
3.4.2023.12130051 140 12/13/2023
3.4.2023.12120050 133 12/12/2023
3.4.2023.12120049 131 12/12/2023
3.4.2023.12120046 141 12/12/2023
3.4.2023.12100045 148 12/10/2023
3.4.2023.12080044 148 12/8/2023
3.4.2023.12040041 158 12/3/2023
3.4.2023.12020040 160 12/2/2023
3.4.2023.12010038 164 12/1/2023
3.4.2023.12010037 150 12/1/2023
3.4.2023.11300034 148 11/30/2023
3.4.2023.11280033 160 11/28/2023
3.4.2023.11280032 148 11/28/2023
3.4.2023.11280031 153 11/28/2023
3.4.2023.11260030 150 11/26/2023
3.4.2023.11250029 163 11/25/2023
3.4.2023.11230026 145 11/23/2023
3.4.2023.11230008 154 11/23/2023
3.4.2023.11220007 143 11/22/2023
3.4.2023.11220005 141 11/22/2023
3.4.2023.11170004 150 11/17/2023
3.4.2023.11160003 148 11/16/2023
3.4.2023.11150002 146 11/15/2023
3.4.2023.11150001 143 11/15/2023
3.4.2023.1115-beta0001 120 11/15/2023
3.3.2023.1114-beta0072 79 11/14/2023
3.3.2023.1113-beta0071 70 11/13/2023
3.3.2023.1113-beta0066 72 11/13/2023
3.3.2023.1110-beta0065 78 11/10/2023
3.3.2023.1108-beta0064 73 11/8/2023
3.3.2023.1108-beta0063 74 11/8/2023
3.3.2023.1106-beta0061 85 11/6/2023
3.3.2023.1103-beta0060 86 11/3/2023
3.3.2023.1102-beta0058 82 11/23/2023
3.3.2023.1102-beta0057 77 11/2/2023
3.3.2023.1102-beta0051 79 11/2/2023
3.3.2023.1102-beta0049 90 11/2/2023

新增数据保护IDataProtection