DH.NRedis.Extensions 3.8.2024.828-beta0122

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.8.2024.828-beta0122
                    
NuGet\Install-Package DH.NRedis.Extensions -Version 3.8.2024.828-beta0122
                    
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.8.2024.828-beta0122" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DH.NRedis.Extensions" Version="3.8.2024.828-beta0122" />
                    
Directory.Packages.props
<PackageReference Include="DH.NRedis.Extensions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DH.NRedis.Extensions --version 3.8.2024.828-beta0122
                    
#r "nuget: DH.NRedis.Extensions, 3.8.2024.828-beta0122"
                    
#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.
#addin nuget:?package=DH.NRedis.Extensions&version=3.8.2024.828-beta0122&prerelease
                    
Install DH.NRedis.Extensions as a Cake Addin
#tool nuget:?package=DH.NRedis.Extensions&version=3.8.2024.828-beta0122&prerelease
                    
Install DH.NRedis.Extensions as a Cake Tool

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

新增数据保护IDataProtection