DH.NRedis 4.0.2024.1206-beta0112

This is a prerelease version of DH.NRedis.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package DH.NRedis --version 4.0.2024.1206-beta0112                
NuGet\Install-Package DH.NRedis -Version 4.0.2024.1206-beta0112                
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" Version="4.0.2024.1206-beta0112" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DH.NRedis --version 4.0.2024.1206-beta0112                
#r "nuget: DH.NRedis, 4.0.2024.1206-beta0112"                
#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 as a Cake Addin
#addin nuget:?package=DH.NRedis&version=4.0.2024.1206-beta0112&prerelease

// Install DH.NRedis as a Cake Tool
#tool nuget:?package=DH.NRedis&version=4.0.2024.1206-beta0112&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 was computed.  net5.0-windows was computed.  net6.0 was computed.  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 was computed.  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 was computed.  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 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 is compatible.  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.
  • .NETFramework 4.5

  • .NETFramework 4.6.1

  • .NETStandard 2.0

  • .NETStandard 2.1

NuGet packages (6)

Showing the top 5 NuGet packages that depend on DH.NRedis:

Package Downloads
DH.RateLimter

使用DH.RateLimter可以使您轻松实现WebApi接口的限流管理。DH.RateLimter支持IP、用户身份、Request Header、Request QueryString等多种限流策略,支持黑名单和白名单功能,支持全局拦截和单独Api拦截。令牌桶算法和漏桶算法参考https://github.com/duyanming/AnnoDemo,其他限制参考https://github.com/kulend/Dnc.Api.Throttle

DH.Permissions

DH框架的JWT权限类库

DH.SignalR

用于DH框架的基于SignalR的实时推送库

DH.Extensions.Caching.Redis

DH框架的edis基础操作、消息队列,经过日均100亿次调用量的项目验证,参考NewLife.Redis

DH.NRedis.Extensions

Redis扩展库,便于注入Redis,支持分布式缓存IDistributedCache和数据保护IDataProtection

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.0.2024.1226-beta0336 28 12/26/2024
4.0.2024.1213-beta1019 258 12/13/2024
4.0.2024.1206-beta0112 260 12/6/2024
4.0.2024.1204-beta0337 211 12/4/2024
4.0.2024.1201-beta0334 107 12/1/2024
4.0.2024.1126-beta0234 138 11/26/2024
4.0.2024.1123-beta0939 393 11/23/2024
4.0.2024.1119-beta0731 117 11/19/2024
4.0.2024.1114-beta0650 110 11/14/2024
4.0.2024.1114-beta0608 66 11/14/2024
3.91.2024.1112-beta0844 90 11/12/2024
3.91.2024.1109-beta0248 139 11/9/2024
3.91.2024.1104-beta0356 415 11/4/2024
3.91.2024.1101-beta0242 98 11/1/2024
3.91.2024.1031 139 10/31/2024
3.91.2024.1031-beta1112 98 10/31/2024
3.91.2024.1031-beta1107 98 10/31/2024
3.91.2024.1031-beta1106 101 10/31/2024
3.91.2024.1021-beta0734 597 10/21/2024
3.91.2024.1021-beta0725 77 10/21/2024
3.91.2024.1015-beta1006 105 10/15/2024
3.91.2024.1015-beta0956 89 10/15/2024
3.91.2024.1013-beta0832 118 10/13/2024
3.91.2024.1012-beta0303 99 10/12/2024
3.91.2024.1010-beta0633 130 10/10/2024
3.91.2024.1008-beta0919 251 10/8/2024
3.91.2024.1008-beta0342 153 10/8/2024
3.91.2024.1008-beta0328 93 10/8/2024
3.91.2024.1008-beta0321 92 10/8/2024
3.91.2024.925-beta0644 150 9/25/2024
3.91.2024.923-beta0226 674 9/23/2024
3.91.2024.922-beta0349 121 9/22/2024
3.9.2024.9210003 194 9/21/2024
3.9.2024.9210002 216 9/21/2024
3.8.2024.922-beta0347 102 9/22/2024
3.8.2024.921-beta0953 98 9/21/2024
3.8.2024.920-beta0130 306 9/20/2024
3.8.2024.919-beta0806 117 9/19/2024
3.8.2024.918-beta1131 289 9/18/2024
3.8.2024.918-beta0917 101 9/18/2024
3.8.2024.918-beta0916 73 9/18/2024
3.8.2024.913-beta0631 137 9/13/2024
3.8.2024.911-beta1434 432 9/11/2024
3.8.2024.907-beta0155 376 9/7/2024
3.8.2024.903-beta0542 224 9/3/2024
3.8.2024.828-beta0703 231 8/28/2024
3.8.2024.828-beta0135 206 8/28/2024
3.8.2024.828-beta0131 106 8/28/2024
3.8.2024.828-beta0130 105 8/28/2024
3.8.2024.828-beta0122 125 8/28/2024
3.8.2024.828-beta0119 84 8/28/2024
3.8.2024.828-beta0111 117 8/28/2024
3.8.2024.828-beta0109 116 8/28/2024
3.7.2024.826-beta0225 234 8/26/2024
3.7.2024.821-beta0308 303 8/21/2024
3.7.2024.820 281 8/20/2024
3.7.2024.820-beta0627 109 8/20/2024
3.7.2024.819-beta1254 160 8/19/2024
3.6.2024.8160165 205 8/16/2024
3.6.2024.8150164 287 8/15/2024
3.6.2024.8140163 241 8/14/2024
3.6.2024.8140162 244 8/14/2024
3.6.2024.8140161 253 8/14/2024
3.6.2024.8130160 240 8/13/2024
3.6.2024.8130159 246 8/13/2024
3.6.2024.8130158 246 8/13/2024
3.6.2024.8130156 265 8/13/2024
3.6.2024.8130155 241 8/13/2024
3.6.2024.8120153 239 8/12/2024
3.6.2024.8120151 235 8/12/2024
3.6.2024.8110150 193 8/11/2024
3.6.2024.8100148 234 8/10/2024
3.6.2024.8100147 230 8/9/2024
3.6.2024.8090146 222 8/9/2024
3.6.2024.8090145 298 8/9/2024
3.6.2024.8080141 205 8/8/2024
3.6.2024.8070140 209 8/7/2024
3.6.2024.8070139 205 8/7/2024
3.6.2024.8070138 231 8/7/2024
3.6.2024.8050137 192 8/5/2024
3.6.2024.8050135 175 8/5/2024
3.6.2024.8040134 127 12/13/2024
3.6.2024.8040133 168 8/4/2024
3.6.2024.8030132 164 8/3/2024
3.6.2024.8020131 178 8/2/2024
3.6.2024.8010128 205 8/1/2024
3.6.2024.7310126 138 7/31/2024
3.6.2024.7300125 140 7/30/2024
3.6.2024.7290124 163 7/29/2024
3.6.2024.7270123 144 7/27/2024
3.6.2024.7260122 152 7/26/2024
3.6.2024.7240120 186 7/24/2024
3.6.2024.7230119 189 7/23/2024
3.6.2024.7220118 264 7/22/2024
3.6.2024.7220114 215 7/22/2024
3.6.2024.7220113 226 7/22/2024
3.6.2024.7190112 207 7/19/2024
3.6.2024.7190111 233 7/19/2024
3.6.2024.7180110 219 7/18/2024
3.6.2024.7170109 214 7/17/2024
3.6.2024.7160108 219 7/16/2024
3.6.2024.7160107 207 7/16/2024
3.6.2024.7150106 183 7/15/2024
3.6.2024.7150105 241 7/15/2024
3.6.2024.7130104 217 7/13/2024
3.6.2024.7130103 208 7/13/2024
3.6.2024.7120102 204 7/12/2024
3.6.2024.7110101 219 7/11/2024
3.6.2024.7100100 223 7/10/2024
3.6.2024.7090099 204 7/9/2024
3.6.2024.7090098 227 7/9/2024
3.6.2024.7090097 209 7/9/2024
3.6.2024.7090096 225 7/8/2024
3.6.2024.7080095 214 7/8/2024
3.6.2024.7080094 225 7/8/2024
3.6.2024.7080091 212 7/8/2024
3.6.2024.7050090 235 7/5/2024
3.6.2024.7040089 233 7/4/2024
3.6.2024.7030088 228 7/3/2024
3.6.2024.7020087 233 7/2/2024
3.6.2024.7020086 234 7/2/2024
3.6.2024.7010085 248 7/1/2024
3.6.2024.7010084 221 7/1/2024
3.6.2024.6290083 234 6/29/2024
3.6.2024.6280082 221 6/28/2024
3.6.2024.6270081 225 6/27/2024
3.6.2024.6260080 229 6/26/2024
3.6.2024.6250079 219 6/25/2024
3.6.2024.6250078 220 6/25/2024
3.6.2024.6250077 227 6/24/2024
3.6.2024.6240076 221 6/24/2024
3.6.2024.6240075 221 6/24/2024
3.6.2024.6200074 244 6/20/2024
3.6.2024.6190073 249 6/19/2024
3.6.2024.6180072 230 6/18/2024
3.6.2024.6170071 220 6/17/2024
3.6.2024.6150070 243 6/15/2024
3.6.2024.6140069 235 6/14/2024
3.6.2024.6130068 224 6/13/2024
3.6.2024.6130067 231 6/13/2024
3.6.2024.6120062 210 6/12/2024
3.6.2024.6120061 217 6/12/2024
3.6.2024.6110060 219 6/11/2024
3.6.2024.6090059 230 6/9/2024
3.6.2024.6060058 237 6/6/2024
3.6.2024.6050057 234 6/5/2024
3.6.2024.6040056 243 6/4/2024
3.6.2024.6030055 213 6/3/2024
3.6.2024.5310054 224 5/31/2024
3.6.2024.5300053 275 5/30/2024
3.6.2024.5290052 242 5/29/2024
3.6.2024.5290051 221 5/29/2024
3.6.2024.5280050 228 5/28/2024
3.6.2024.5270049 240 5/27/2024
3.6.2024.5250048 238 5/25/2024
3.6.2024.5250047 241 5/25/2024
3.6.2024.5240046 243 5/24/2024
3.6.2024.5240045 242 5/24/2024
3.6.2024.5240044 243 5/24/2024
3.6.2024.5240043 228 5/24/2024
3.6.2024.5230039 242 5/23/2024
3.6.2024.5230038 242 5/23/2024
3.6.2024.5230037 230 5/23/2024
3.6.2024.5220036 237 5/23/2024
3.6.2024.5220035 237 5/22/2024
3.6.2024.5220034 244 5/22/2024
3.6.2024.5210033 249 5/21/2024
3.6.2024.5210032 225 5/21/2024
3.6.2024.5200031 216 5/20/2024
3.6.2024.5170030 263 5/17/2024
3.6.2024.5160029 188 5/16/2024
3.6.2024.5160028 204 5/16/2024
3.6.2024.5150027 229 5/15/2024
3.6.2024.5140026 201 5/14/2024
3.6.2024.5130025 220 5/13/2024
3.6.2024.5130024 230 5/13/2024
3.6.2024.5110024 200 5/11/2024
3.6.2024.5110023 220 5/11/2024
3.6.2024.5110022 253 5/11/2024
3.6.2024.5100021 221 5/10/2024
3.6.2024.5100020 225 5/10/2024
3.6.2024.5090019 247 5/9/2024
3.6.2024.5080018 232 5/8/2024
3.6.2024.5080017 249 5/8/2024
3.6.2024.5070016 241 5/7/2024
3.6.2024.5060014 326 5/6/2024
3.6.2024.5060010 242 5/6/2024
3.6.2024.5050009 236 5/5/2024
3.6.2024.4290008 228 4/29/2024
3.6.2024.4280007 221 4/28/2024
3.6.2024.4280006 220 4/28/2024
3.6.2024.4260005 223 4/26/2024
3.6.2024.4260004 221 4/26/2024
3.6.2024.4250003 238 4/25/2024
3.6.2024.4250002 203 4/25/2024
3.6.2024.4240001 270 4/24/2024
3.5.2024.4230239 252 4/23/2024
3.5.2024.4220237 231 4/22/2024
3.5.2024.4210236 231 4/21/2024
3.5.2024.4200235 235 4/20/2024
3.5.2024.4190232 261 4/19/2024
3.5.2024.4180230 233 4/18/2024
3.5.2024.4180229 216 4/18/2024
3.5.2024.4170228 257 4/17/2024
3.5.2024.4170226 215 4/17/2024
3.5.2024.4170225 229 4/17/2024
3.5.2024.4160223 225 4/16/2024
3.5.2024.4150222 219 4/15/2024
3.5.2024.4130221 211 4/18/2024
3.5.2024.4110220 203 4/12/2024
3.5.2024.4110219 250 4/12/2024
3.5.2024.4100218 213 4/10/2024
3.5.2024.4100217 227 4/10/2024
3.5.2024.4100216 221 4/10/2024
3.5.2024.4090215 218 4/9/2024
3.5.2024.4080214 231 4/8/2024
3.5.2024.4070213 259 4/7/2024
3.5.2024.4020210 230 4/2/2024
3.5.2024.4020209 221 4/2/2024
3.5.2024.4010208 241 4/1/2024
3.5.2024.3300207 234 3/30/2024
3.5.2024.3300206 218 3/30/2024
3.5.2024.3300205 219 3/30/2024
3.5.2024.3290204 203 3/29/2024
3.5.2024.3280203 233 3/28/2024
3.5.2024.3270202 245 3/27/2024
3.5.2024.3270201 297 3/27/2024
3.5.2024.3250200 238 3/25/2024
3.5.2024.3220198 300 3/22/2024
3.5.2024.3210197 249 3/21/2024
3.5.2024.3200196 264 3/20/2024
3.5.2024.3190195 253 3/19/2024
3.5.2024.3180194 273 3/18/2024
3.5.2024.3170192 248 3/17/2024
3.5.2024.3160191 268 3/16/2024
3.5.2024.3150190 244 3/15/2024
3.5.2024.3130189 266 3/13/2024
3.5.2024.3110188 279 3/11/2024
3.5.2024.3100187 269 3/10/2024
3.5.2024.3100186 221 3/10/2024
3.5.2024.3100185 227 3/10/2024
3.5.2024.3070184 246 3/7/2024
3.5.2024.3070183 265 3/7/2024
3.5.2024.3070179 249 3/7/2024
3.5.2024.3070178 267 3/7/2024
3.5.2024.3060177 278 3/6/2024
3.5.2024.3050175 274 3/5/2024
3.5.2024.3040174 265 3/4/2024
3.5.2024.3040173 265 3/4/2024
3.5.2024.3020172 285 3/2/2024
3.5.2024.3020171 243 3/2/2024
3.5.2024.3020170 277 3/4/2024
3.5.2024.3020169 282 3/2/2024
3.5.2024.3020168 256 3/2/2024
3.5.2024.3020167 282 3/2/2024
3.5.2024.3020166 283 3/2/2024
3.5.2024.3010165 255 3/1/2024
3.5.2024.2290164 281 2/29/2024
3.5.2024.2290163 249 2/29/2024
3.5.2024.2290161 273 2/29/2024
3.5.2024.2280159 238 2/28/2024
3.5.2024.2270157 302 2/27/2024
3.5.2024.2230155 293 2/23/2024
3.5.2024.2210153 276 2/21/2024
3.5.2024.2190152 237 2/19/2024
3.5.2024.2180150 284 2/18/2024
3.5.2024.2170148 226 2/18/2024
3.5.2024.1280144 310 1/28/2024
3.5.2024.1280143 258 1/28/2024
3.5.2024.1260143 252 2/18/2024
3.5.2024.1260142 294 1/26/2024
3.5.2024.1240139 283 1/24/2024
3.5.2024.1240136 267 1/24/2024
3.5.2024.1240135 289 1/24/2024
3.5.2024.1240132 288 1/24/2024
3.5.2024.1230131 256 1/23/2024
3.5.2024.1230130 244 1/23/2024
3.5.2024.1220129 296 1/22/2024
3.5.2024.1190128 320 1/19/2024
3.5.2024.1180124 249 1/18/2024
3.5.2024.1170123 285 1/18/2024
3.5.2024.1160122 259 1/16/2024
3.5.2024.1160121 259 1/16/2024
3.5.2024.1150119 276 1/15/2024
3.5.2024.1150118 244 1/15/2024
3.5.2024.1150117 299 1/15/2024
3.5.2024.1150116 266 1/15/2024
3.5.2024.1150115 286 1/15/2024
3.5.2024.1150114 263 1/14/2024
3.4.2024.1120104 294 1/12/2024
3.4.2024.1120103 247 1/12/2024
3.4.2024.1120102 258 1/12/2024
3.4.2024.1120100 292 1/12/2024
3.4.2024.1120099 268 1/12/2024
3.4.2024.1120098 267 1/12/2024
3.4.2024.1120096 281 1/12/2024
3.4.2024.1120095 246 1/11/2024
3.4.2024.1110094 255 1/11/2024
3.4.2024.1110093 327 1/11/2024
3.4.2024.1100092 295 1/10/2024
3.4.2024.1090091 316 1/9/2024
3.4.2024.1080090 290 1/8/2024
3.4.2024.1080089 296 1/8/2024
3.4.2024.1060088 320 1/6/2024
3.4.2024.1040086 318 1/4/2024
3.4.2024.1030085 273 1/3/2024
3.4.2024.1030084 267 1/3/2024
3.4.2024.1030083 304 1/3/2024
3.4.2024.1020082 272 1/2/2024
3.4.2024.1020081 257 1/2/2024
3.4.2024.1020080 319 1/2/2024
3.4.2023.12290079 319 12/29/2023
3.4.2023.12280078 284 12/28/2023
3.4.2023.12280077 292 12/28/2023
3.4.2023.12270076 275 12/27/2023
3.4.2023.12270075 292 12/27/2023
3.4.2023.12260068 309 12/26/2023
3.4.2023.12220067 287 12/22/2023
3.4.2023.12200066 294 12/20/2023
3.4.2023.12200065 274 12/20/2023
3.4.2023.12190064 276 12/19/2023
3.4.2023.12180061 298 12/18/2023
3.4.2023.12180060 311 12/18/2023
3.4.2023.12150059 320 12/15/2023
3.4.2023.12140058 300 12/14/2023
3.4.2023.12140054 325 12/14/2023
3.4.2023.12140053 298 12/14/2023
3.4.2023.12130052 335 12/13/2023
3.4.2023.12130051 308 12/13/2023
3.4.2023.12120050 301 12/12/2023
3.4.2023.12120049 312 12/12/2023
3.4.2023.12120046 329 12/12/2023
3.4.2023.12100045 314 12/10/2023
3.4.2023.12080044 325 12/8/2023
3.4.2023.12040041 320 12/3/2023
3.4.2023.12020040 302 12/2/2023
3.4.2023.12010038 346 12/1/2023
3.4.2023.12010037 306 12/1/2023
3.4.2023.11300034 354 11/30/2023
3.4.2023.11280033 370 11/28/2023
3.4.2023.11280032 365 11/28/2023
3.4.2023.11280031 335 11/28/2023
3.4.2023.11260030 333 11/26/2023
3.4.2023.11250029 395 11/25/2023
3.4.2023.11230026 398 11/23/2023
3.4.2023.11230008 369 11/23/2023
3.4.2023.11220007 348 11/22/2023
3.4.2023.11220005 361 11/22/2023
3.4.2023.11170004 377 11/17/2023
3.4.2023.11160003 349 11/16/2023
3.4.2023.11150002 375 11/15/2023
3.4.2023.11150001 359 11/15/2023
3.4.2023.1115-beta0001 286 11/15/2023
3.3.2023.1114-beta0072 256 11/14/2023
3.3.2023.1113-beta0071 273 11/13/2023
3.3.2023.1113-beta0066 268 11/13/2023
3.3.2023.1110-beta0065 267 11/10/2023
3.3.2023.1108-beta0064 253 11/8/2023
3.3.2023.1108-beta0063 267 11/8/2023
3.3.2023.1106-beta0061 272 11/6/2023
3.3.2023.1103-beta0060 280 11/3/2023
3.3.2023.1102-beta0058 238 11/23/2023
3.3.2023.1102-beta0057 245 11/2/2023
3.3.2023.1102-beta0051 230 11/2/2023
3.3.2023.1102-beta0049 224 11/2/2023
3.3.2023.1101-beta0048 229 11/1/2023
3.3.2023.1101-beta0047 254 11/1/2023
3.3.2023.1031-beta0046 252 10/31/2023
3.3.2023.1031-beta0045 250 10/31/2023
3.3.2023.1030-beta0044 258 10/30/2023
3.3.2023.1027-beta0043 261 10/27/2023
3.3.2023.1027-beta0037 246 10/27/2023
3.3.2023.1026-beta0034 246 10/26/2023
3.3.2023.1025-beta0024 257 10/25/2023
3.3.2023.1020-beta0002 138 10/20/2023
3.3.2023.1019-beta0001 169 10/20/2023
2.3.2023.1019288 176 10/20/2023
2.3.2023.1018288 422 10/18/2023
2.3.2023.1017286 404 10/17/2023
2.3.2023.1017285 409 10/17/2023
2.3.2023.1016277 430 10/16/2023
2.3.2023.1012276 453 10/12/2023
2.3.2023.1011273 450 10/11/2023
2.3.2023.1011269 415 10/11/2023
2.3.2023.1011268 434 10/11/2023
2.3.2023.1011267 430 10/11/2023
2.3.2023.1011266 439 10/11/2023
2.3.2023.1010265 414 10/11/2023
2.3.2023.1010263 428 10/10/2023
2.3.2023.1010262 424 10/10/2023
2.3.2023.1010260 428 10/10/2023
2.3.2023.1010258 430 10/10/2023
2.3.2023.1010256 239 10/10/2023
2.3.2023.1008255 479 10/8/2023
2.3.2023.1004251 421 10/4/2023
2.3.2023.926250 472 9/26/2023
2.3.2023.922249 420 9/22/2023
2.3.2023.922248 410 9/22/2023
2.3.2023.920247 485 9/20/2023
2.3.2023.920246 413 9/20/2023
2.3.2023.919245 428 9/19/2023
2.3.2023.919244 418 9/19/2023
2.3.2023.919242 385 9/19/2023
2.3.2023.918243 389 9/18/2023
2.3.2023.918242 382 9/18/2023
2.3.2023.914241 481 9/14/2023
2.3.2023.913239 417 9/13/2023
2.3.2023.913235 400 9/13/2023
2.3.2023.913234 407 9/13/2023
2.3.2023.913233 418 9/13/2023
2.3.2023.913232 447 9/13/2023
2.3.2023.913231 481 9/13/2023
2.3.2023.912230 455 9/12/2023
2.3.2023.909228 457 9/9/2023
2.3.2023.909227 424 9/9/2023
2.3.2023.909226 427 9/9/2023
2.3.2023.909223 471 9/9/2023
2.3.2023.909222 463 9/9/2023
2.3.2023.909221 459 9/9/2023
2.3.2023.909220 427 9/9/2023
2.3.2023.909218 452 9/9/2023
2.3.2023.907201 463 9/7/2023
2.3.2023.905200 437 9/5/2023
2.3.2023.904197 418 9/4/2023
2.3.2023.828196 445 8/28/2023
2.3.2023.824195 427 8/24/2023
2.3.2023.823194 448 8/23/2023
2.3.2023.821193 470 8/21/2023
2.3.2023.820192 453 8/20/2023
2.3.2023.817191 476 8/17/2023
2.3.2023.817190 476 8/17/2023
2.3.2023.815189 551 8/15/2023
2.3.2023.812188 514 8/12/2023
2.3.2023.811187 479 8/11/2023
2.3.2023.811186 470 8/10/2023
2.3.2023.810185 477 8/10/2023
2.3.2023.810184 463 8/10/2023
2.3.2023.808183 495 8/8/2023
2.3.2023.807182 542 8/7/2023
2.3.2023.806181 550 8/6/2023
2.3.2023.806178 488 8/6/2023
2.3.2023.802166 572 8/2/2023
2.3.2023.801165 472 8/1/2023
2.3.2023.731164 505 7/31/2023
2.3.2023.730163 528 7/30/2023
2.3.2023.729162 447 7/29/2023
2.3.2023.729161 471 7/29/2023
2.3.2023.729160 479 7/29/2023
2.3.2023.729159 471 7/29/2023
2.3.2023.728158 462 7/28/2023
2.3.2023.728157 484 7/28/2023
2.3.2023.727156 459 7/27/2023
2.3.2023.726155 497 7/26/2023
2.3.2023.726154 484 7/26/2023
2.3.2023.726152 470 7/26/2023
2.3.2023.725149 469 7/25/2023
2.3.2023.725148 463 7/25/2023
2.3.2023.721147 541 7/22/2023
2.3.2023.721146 490 7/21/2023
2.3.2023.720140 474 7/20/2023
2.3.2023.717139 577 7/17/2023
2.3.2023.717138 508 7/17/2023
2.3.2023.716138 487 7/16/2023
2.3.2023.715138 533 7/15/2023
2.3.2023.715137 534 7/15/2023
2.3.2023.715136 500 7/15/2023
2.3.2023.713134 495 7/13/2023
2.3.2023.712133 565 7/12/2023
2.3.2023.711132 490 7/11/2023
2.3.2023.711131 500 7/11/2023
2.3.2023.711129 499 7/11/2023
2.3.2023.709131 595 7/9/2023
2.3.2023.708128 495 7/11/2023
2.3.2023.708127 486 7/8/2023
2.3.2023.707121 540 7/7/2023
2.3.2023.707120 535 7/7/2023
2.3.2023.706119 505 7/6/2023
2.3.2023.706118 513 7/6/2023
2.3.2023.705108 540 7/5/2023
2.3.2023.705107 547 7/5/2023
2.3.2023.705104 503 7/5/2023
2.3.2023.704103 515 7/4/2023
2.3.2023.703102 526 7/4/2023
2.3.2023.703101 507 7/4/2023
2.3.2023.703100 523 7/3/2023
2.3.2023.703099 529 7/3/2023
2.3.2023.703098 540 7/3/2023
2.3.2023.630097 519 6/29/2023
2.3.2023.629096 527 6/29/2023
2.3.2023.625095 605 6/25/2023
2.3.2023.621094 516 6/21/2023
2.3.2023.620093 552 6/20/2023
2.3.2023.620092 563 6/20/2023
2.3.2023.619088 549 6/19/2023
2.3.2023.619087 534 6/19/2023
2.3.2023.619086 531 6/19/2023
2.3.2023.619085 512 6/19/2023
2.3.2023.619084 526 6/19/2023
2.3.2023.618083 556 6/19/2023
2.3.2023.617080 536 6/17/2023
2.3.2023.616079 580 6/16/2023
2.3.2023.615078 554 6/15/2023
2.3.2023.614075 628 6/14/2023
2.3.2023.612074 689 6/12/2023
2.3.2023.612073 549 6/12/2023
2.3.2023.612072 561 6/11/2023
2.3.2023.610071 633 6/10/2023
2.3.2023.610070 591 6/10/2023
2.3.2023.608070 615 6/8/2023
2.3.2023.605067 598 6/5/2023
2.3.2023.602066 572 6/2/2023
2.3.2023.602065 566 6/2/2023
2.3.2023.601063 585 6/1/2023
2.3.2023.601062 594 5/31/2023
2.3.2023.531061 562 5/31/2023
2.3.2023.530060 596 5/30/2023
2.3.2023.530049 605 5/29/2023
2.3.2023.529048 660 5/29/2023
2.3.2023.529047 618 5/29/2023
2.3.2023.529046 627 5/28/2023
2.3.2023.528045 635 5/28/2023
2.3.2023.528044 618 5/28/2023
2.3.2023.528043 564 5/28/2023
2.3.2023.525040 580 5/25/2023
2.3.2023.525039 607 5/25/2023
2.3.2023.524038 600 5/24/2023
2.3.2023.524037 589 5/23/2023
2.3.2023.520036 561 5/20/2023
2.3.2023.520035 517 5/20/2023
2.3.2023.520032 493 5/23/2023
2.3.2023.519031 512 5/19/2023
2.3.2023.515030 588 5/15/2023
2.3.2023.512029 567 5/12/2023
2.3.2023.512027 503 5/12/2023
2.3.2023.511025 547 5/11/2023
2.3.2023.510022 513 5/10/2023
2.3.2023.510016 541 5/9/2023
2.3.2023.507015 609 5/7/2023
2.3.2023.507014 570 5/7/2023
2.3.2023.505013 552 5/5/2023
2.3.2023.505012 599 5/5/2023
2.3.2023.502011 642 5/2/2023
2.3.2023.502010 614 5/2/2023
2.3.2023.502009 626 5/2/2023
2.3.2023.502008 565 5/2/2023
2.3.2023.501007 681 5/1/2023
2.3.2023.501006 651 5/1/2023
2.3.2023.501005 551 5/1/2023
2.3.2023.501004 635 5/1/2023
2.3.2023.428002 555 5/5/2023
2.3.2023.427001 587 4/27/2023
2.2.2023.222-beta00001 371 2/25/2023
1.3.2023.427180 626 4/27/2023
1.3.2023.427179 652 4/27/2023
1.3.2023.427176 686 4/27/2023
1.3.2023.427171 610 4/27/2023
1.3.2023.427170 667 4/27/2023
1.3.2023.427159 600 4/26/2023
1.3.2023.426158 692 4/26/2023
1.3.2023.425154 721 4/25/2023
1.3.2023.425153 607 4/25/2023
1.3.2023.425149 554 4/25/2023
1.3.2023.425148 559 4/25/2023
1.3.2023.425146 600 4/25/2023
1.3.2023.425144 571 4/24/2023
1.3.2023.424143 642 4/24/2023
1.3.2023.424142 587 4/24/2023
1.3.2023.424139 615 4/24/2023
1.3.2023.423138 617 4/24/2023
1.3.2023.423137 633 4/24/2023
1.3.2023.423136 598 4/24/2023
1.3.2023.423134 628 4/23/2023
1.3.2023.423120 615 4/23/2023
1.3.2023.423119 639 4/22/2023
1.3.2023.421118 633 4/21/2023
1.3.2023.420117 652 4/20/2023
1.3.2023.419116 610 4/19/2023
1.3.2023.419114 647 4/19/2023
1.3.2023.419113 596 4/19/2023
1.3.2023.419112 719 4/19/2023
1.3.2023.419108 363 4/19/2023
1.3.2023.419107 326 4/19/2023
1.3.2023.419106 587 4/19/2023
1.3.2023.419104 591 4/19/2023
1.3.2023.418103 625 4/18/2023
1.3.2023.418102 621 4/18/2023
1.3.2023.417101 632 4/17/2023
1.3.2023.417100 633 4/17/2023
1.3.2023.41599 694 4/15/2023
1.3.2023.41598 670 4/17/2023
1.3.2023.41497 670 4/14/2023
1.3.2023.41496 662 4/14/2023
1.3.2023.41394 613 4/12/2023
1.3.2023.41294 643 4/14/2023
1.3.2023.41293 655 4/12/2023
1.3.2023.41192 644 4/11/2023
1.3.2023.41090 668 4/10/2023
1.3.2023.40888 677 4/8/2023
1.3.2023.40887 655 4/8/2023
1.3.2023.40886 653 4/8/2023
1.3.2023.40785 624 4/7/2023
1.3.2023.40683 645 4/6/2023
1.3.2023.40682 627 4/6/2023
1.3.2023.40681 648 4/6/2023
1.3.2023.40480 657 4/3/2023
1.3.2023.40279 667 4/2/2023
1.3.2023.40178 706 4/1/2023
1.3.2023.40177 688 4/1/2023
1.3.2023.33176 633 3/31/2023
1.3.2023.32774 692 3/27/2023
1.3.2023.32672 677 3/26/2023
1.3.2023.32669 711 3/26/2023
1.3.2023.32668 699 3/26/2023
1.3.2023.32667 678 3/26/2023
1.3.2023.32666 705 3/26/2023
1.3.2023.32665 695 3/26/2023
1.3.2023.32563 732 3/25/2023
1.3.2023.32562 673 3/25/2023
1.3.2023.32561 679 3/25/2023
1.3.2023.32360 704 3/23/2023
1.3.2023.32359 704 3/23/2023
1.3.2023.32358 660 3/23/2023
1.3.2023.32357 686 3/23/2023
1.3.2023.32356 741 3/22/2023
1.3.2023.32355 674 3/22/2023
1.3.2023.32154 693 3/21/2023
1.3.2023.32153 679 3/21/2023
1.3.2023.32152 881 3/21/2023
1.3.2023.32149 674 3/21/2023
1.3.2023.31949 719 3/19/2023
1.3.2023.31740 728 3/17/2023
1.3.2023.31540 717 3/15/2023
1.3.2023.31539 744 3/15/2023
1.3.2023.31437 732 3/14/2023
1.3.2023.31436 715 3/13/2023
1.3.2023.31335 733 3/13/2023
1.3.2023.31334 700 3/12/2023
1.3.2023.31333 683 3/12/2023
1.3.2023.31232 703 3/12/2023
1.3.2023.31231 713 3/12/2023
1.3.2023.31128 707 3/13/2023
1.3.2023.31127 777 3/11/2023
1.3.2023.31121 742 3/11/2023
1.3.2023.31020 733 3/9/2023
1.3.2023.30919 753 3/8/2023
1.3.2023.30818 752 3/8/2023
1.3.2023.30816 736 3/8/2023
1.3.2023.30813 748 3/7/2023
1.3.2023.30712 738 3/6/2023
1.3.2023.30611 771 3/6/2023
1.3.2023.30210 772 3/2/2023
1.3.2023.3029 764 3/2/2023
1.3.2023.3028 769 3/1/2023
1.3.2023.3017 758 3/1/2023
1.3.2023.3016 793 2/28/2023
1.3.2023.2285 754 2/28/2023
1.3.2023.2274 758 2/27/2023
1.3.2023.2253 775 2/25/2023
1.3.2023.2232 756 2/22/2023
1.3.2023.2221 733 2/22/2023
1.2.2023.219-beta00036 446 2/19/2023
1.2.2023.217-beta00035 442 2/17/2023
1.2.2023.215-beta00034 438 2/15/2023
1.2.2023.214-beta00033 442 2/14/2023
1.2.2023.213-beta00032 441 2/13/2023
1.2.2023.213-beta00031 461 2/13/2023
1.2.2023.212-beta00031 444 2/12/2023
1.2.2023.211-beta00029 458 2/11/2023
1.2.2023.211-beta00028 429 2/11/2023
1.2.2023.211-beta00027 457 2/11/2023
1.2.2023.210-beta00026 439 2/10/2023
1.2.2023.209-beta00025 437 2/9/2023
1.2.2023.208-beta00024 464 2/8/2023
1.2.2023.208-beta00023 200 2/8/2023
1.2.2023.207-beta00023 425 2/7/2023
1.2.2023.206-beta00021 445 2/6/2023
1.2.2023.206-beta00020 612 2/6/2023
1.2.2023.204-beta00019 493 2/4/2023
1.2.2023.202-beta00018 435 2/2/2023
1.2.2023.130-beta00016 463 1/30/2023
1.2.2023.129-beta00015 450 1/29/2023
1.2.2023.128-beta00014 441 1/28/2023
1.2.2023.120-beta00012 441 1/20/2023
1.2.2023.120-beta00011 458 1/20/2023
1.2.2023.112-beta00010 460 1/12/2023
1.2.2023.111-beta00009 460 1/11/2023
1.2.2023.110-beta00008 440 1/9/2023
1.2.2023.108-beta00007 449 1/8/2023
1.2.2023.105-beta00006 429 1/5/2023
1.2.2023.103-beta00005 459 1/3/2023
1.2.2023.103-beta00004 454 1/3/2023
1.2.2023.101-beta00001 443 1/1/2023
1.1.2022.1229-beta00043 436 12/29/2022
1.1.2022.1228-beta00041 439 12/28/2022
1.1.2022.1227-beta00036 431 12/28/2022
1.1.2022.1226-beta00035 443 12/26/2022
1.1.2022.1225-beta00035 208 12/26/2022
1.1.2022.1225-beta00034 450 12/25/2022
1.1.2022.1221-beta00032 444 12/21/2022
1.1.2022.1221-beta00031 464 12/21/2022
1.1.2022.1220-beta00030 470 12/20/2022
1.1.2022.1220-beta00027 442 12/20/2022
1.1.2022.1220-beta00026 455 12/20/2022
1.1.2022.1220-beta00025 441 12/20/2022
1.1.2022.1220-beta00024 590 12/20/2022
1.1.2022.1219-beta00022 452 12/19/2022
1.1.2022.1219-beta00021 455 12/19/2022
1.1.2022.1219-beta00020 428 12/19/2022
1.1.2022.1219-beta00019 450 12/19/2022
1.1.2022.1219-beta00018 419 12/19/2022
1.1.2022.1214-beta00016 424 12/14/2022
1.1.2022.1212-beta00015 450 12/12/2022
1.1.2022.1210-beta00015 443 12/12/2022
1.1.2022.1210-beta00014 248 12/10/2022
1.1.2022.1210-beta00013 228 12/10/2022
1.1.2022.1208-beta00012 226 12/8/2022
1.1.2022.1207-beta00011 235 12/7/2022
1.1.2022.1203-beta00010 253 12/3/2022
1.1.2022.1201-beta00009 248 11/30/2022
1.1.2022.1129-beta00008 238 11/29/2022
1.1.2022.1127-beta00007 241 11/29/2022
1.1.2022.1126-beta00007 227 11/26/2022
1.1.2022.1126-beta00006 249 11/26/2022
1.1.2022.1126-beta00005 233 11/26/2022
1.1.2022.1125-beta00004 240 11/26/2022
1.1.2022.1120-beta00003 246 11/20/2022
1.1.2022.1112-beta00002 259 11/20/2022
1.1.2022.1110-beta00001 246 11/10/2022
1.0.2022.1109-beta00012 249 11/8/2022
1.0.2022.1107-beta00011 193 11/6/2022
1.0.2022.1104-beta00008 203 11/4/2022
1.0.2022.1103-beta00007 179 11/3/2022
1.0.2022.1101-beta00006 189 11/1/2022
1.0.2022.1031-beta00004 190 10/31/2022

内存优化,在高并发场合减少内存分配