DH.NRedis.Extensions 3.91.2024.1013-beta0832

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.91.2024.1013-beta0832                
NuGet\Install-Package DH.NRedis.Extensions -Version 3.91.2024.1013-beta0832                
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.91.2024.1013-beta0832" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DH.NRedis.Extensions --version 3.91.2024.1013-beta0832                
#r "nuget: DH.NRedis.Extensions, 3.91.2024.1013-beta0832"                
#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.91.2024.1013-beta0832&prerelease

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

新增数据保护IDataProtection