DH.NRedis 4.0.2024.1126-beta0234

This is a prerelease version of DH.NRedis.
dotnet add package DH.NRedis --version 4.0.2024.1126-beta0234                
NuGet\Install-Package DH.NRedis -Version 4.0.2024.1126-beta0234                
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.1126-beta0234" />                
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.1126-beta0234                
#r "nuget: DH.NRedis, 4.0.2024.1126-beta0234"                
#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.1126-beta0234&prerelease

// Install DH.NRedis as a Cake Tool
#tool nuget:?package=DH.NRedis&version=4.0.2024.1126-beta0234&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.1126-beta0234 102 11/26/2024
4.0.2024.1123-beta0939 240 11/23/2024
4.0.2024.1119-beta0731 111 11/19/2024
4.0.2024.1114-beta0650 103 11/14/2024
4.0.2024.1114-beta0608 59 11/14/2024
3.91.2024.1112-beta0844 82 11/12/2024
3.91.2024.1109-beta0248 137 11/9/2024
3.91.2024.1104-beta0356 407 11/4/2024
3.91.2024.1101-beta0242 92 11/1/2024
3.91.2024.1031 129 10/31/2024
3.91.2024.1031-beta1112 96 10/31/2024
3.91.2024.1031-beta1107 94 10/31/2024
3.91.2024.1031-beta1106 98 10/31/2024
3.91.2024.1021-beta0734 592 10/21/2024
3.91.2024.1021-beta0725 75 10/21/2024
3.91.2024.1015-beta1006 99 10/15/2024
3.91.2024.1015-beta0956 87 10/15/2024
3.91.2024.1013-beta0832 114 10/13/2024
3.91.2024.1012-beta0303 97 10/12/2024
3.91.2024.1010-beta0633 126 10/10/2024
3.91.2024.1008-beta0919 249 10/8/2024
3.91.2024.1008-beta0342 151 10/8/2024
3.91.2024.1008-beta0328 91 10/8/2024
3.91.2024.1008-beta0321 90 10/8/2024
3.91.2024.925-beta0644 143 9/25/2024
3.91.2024.923-beta0226 670 9/23/2024
3.91.2024.922-beta0349 119 9/22/2024
3.9.2024.9210003 187 9/21/2024
3.9.2024.9210002 212 9/21/2024
3.8.2024.922-beta0347 96 9/22/2024
3.8.2024.921-beta0953 96 9/21/2024
3.8.2024.920-beta0130 302 9/20/2024
3.8.2024.919-beta0806 114 9/19/2024
3.8.2024.918-beta1131 287 9/18/2024
3.8.2024.918-beta0917 99 9/18/2024
3.8.2024.918-beta0916 71 9/18/2024
3.8.2024.913-beta0631 133 9/13/2024
3.8.2024.911-beta1434 430 9/11/2024
3.8.2024.907-beta0155 371 9/7/2024
3.8.2024.903-beta0542 222 9/3/2024
3.8.2024.828-beta0703 225 8/28/2024
3.8.2024.828-beta0135 204 8/28/2024
3.8.2024.828-beta0131 102 8/28/2024
3.8.2024.828-beta0130 101 8/28/2024
3.8.2024.828-beta0122 121 8/28/2024
3.8.2024.828-beta0119 80 8/28/2024
3.8.2024.828-beta0111 115 8/28/2024
3.8.2024.828-beta0109 112 8/28/2024
3.7.2024.826-beta0225 232 8/26/2024
3.7.2024.821-beta0308 299 8/21/2024
3.7.2024.820 277 8/20/2024
3.7.2024.820-beta0627 107 8/20/2024
3.7.2024.819-beta1254 153 8/19/2024
3.6.2024.8160165 195 8/16/2024
3.6.2024.8150164 283 8/15/2024
3.6.2024.8140163 234 8/14/2024
3.6.2024.8140162 240 8/14/2024
3.6.2024.8140161 244 8/14/2024
3.6.2024.8130160 234 8/13/2024
3.6.2024.8130159 242 8/13/2024
3.6.2024.8130158 238 8/13/2024
3.6.2024.8130156 253 8/13/2024
3.6.2024.8130155 236 8/13/2024
3.6.2024.8120153 233 8/12/2024
3.6.2024.8120151 229 8/12/2024
3.6.2024.8110150 189 8/11/2024
3.6.2024.8100148 230 8/10/2024
3.6.2024.8100147 226 8/9/2024
3.6.2024.8090146 216 8/9/2024
3.6.2024.8090145 292 8/9/2024
3.6.2024.8080141 199 8/8/2024
3.6.2024.8070140 203 8/7/2024
3.6.2024.8070139 198 8/7/2024
3.6.2024.8070138 221 8/7/2024
3.6.2024.8050137 188 8/5/2024
3.6.2024.8050135 163 8/5/2024
3.6.2024.8040133 164 8/4/2024
3.6.2024.8030132 158 8/3/2024
3.6.2024.8020131 171 8/2/2024
3.6.2024.8010128 201 8/1/2024
3.6.2024.7310126 136 7/31/2024
3.6.2024.7300125 136 7/30/2024
3.6.2024.7290124 157 7/29/2024
3.6.2024.7270123 140 7/27/2024
3.6.2024.7260122 144 7/26/2024
3.6.2024.7240120 182 7/24/2024
3.6.2024.7230119 185 7/23/2024
3.6.2024.7220118 256 7/22/2024
3.6.2024.7220114 209 7/22/2024
3.6.2024.7220113 220 7/22/2024
3.6.2024.7190112 200 7/19/2024
3.6.2024.7190111 228 7/19/2024
3.6.2024.7180110 214 7/18/2024
3.6.2024.7170109 210 7/17/2024
3.6.2024.7160108 215 7/16/2024
3.6.2024.7160107 199 7/16/2024
3.6.2024.7150106 177 7/15/2024
3.6.2024.7150105 235 7/15/2024
3.6.2024.7130104 211 7/13/2024
3.6.2024.7130103 202 7/13/2024
3.6.2024.7120102 200 7/12/2024
3.6.2024.7110101 215 7/11/2024
3.6.2024.7100100 219 7/10/2024
3.6.2024.7090099 200 7/9/2024
3.6.2024.7090098 221 7/9/2024
3.6.2024.7090097 205 7/9/2024
3.6.2024.7090096 221 7/8/2024
3.6.2024.7080095 210 7/8/2024
3.6.2024.7080094 221 7/8/2024
3.6.2024.7080091 208 7/8/2024
3.6.2024.7050090 228 7/5/2024
3.6.2024.7040089 227 7/4/2024
3.6.2024.7030088 222 7/3/2024
3.6.2024.7020087 229 7/2/2024
3.6.2024.7020086 228 7/2/2024
3.6.2024.7010085 244 7/1/2024
3.6.2024.7010084 217 7/1/2024
3.6.2024.6290083 230 6/29/2024
3.6.2024.6280082 217 6/28/2024
3.6.2024.6270081 219 6/27/2024
3.6.2024.6260080 221 6/26/2024
3.6.2024.6250079 215 6/25/2024
3.6.2024.6250078 214 6/25/2024
3.6.2024.6250077 221 6/24/2024
3.6.2024.6240076 215 6/24/2024
3.6.2024.6240075 215 6/24/2024
3.6.2024.6200074 240 6/20/2024
3.6.2024.6190073 243 6/19/2024
3.6.2024.6180072 226 6/18/2024
3.6.2024.6170071 211 6/17/2024
3.6.2024.6150070 239 6/15/2024
3.6.2024.6140069 231 6/14/2024
3.6.2024.6130068 220 6/13/2024
3.6.2024.6130067 226 6/13/2024
3.6.2024.6120062 206 6/12/2024
3.6.2024.6120061 213 6/12/2024
3.6.2024.6110060 213 6/11/2024
3.6.2024.6090059 224 6/9/2024
3.6.2024.6060058 231 6/6/2024
3.6.2024.6050057 230 6/5/2024
3.6.2024.6040056 239 6/4/2024
3.6.2024.6030055 207 6/3/2024
3.6.2024.5310054 220 5/31/2024
3.6.2024.5300053 269 5/30/2024
3.6.2024.5290052 233 5/29/2024
3.6.2024.5290051 217 5/29/2024
3.6.2024.5280050 218 5/28/2024
3.6.2024.5270049 236 5/27/2024
3.6.2024.5250048 233 5/25/2024
3.6.2024.5250047 237 5/25/2024
3.6.2024.5240046 236 5/24/2024
3.6.2024.5240045 238 5/24/2024
3.6.2024.5240044 239 5/24/2024
3.6.2024.5240043 224 5/24/2024
3.6.2024.5230039 236 5/23/2024
3.6.2024.5230038 234 5/23/2024
3.6.2024.5230037 226 5/23/2024
3.6.2024.5220036 233 5/23/2024
3.6.2024.5220035 231 5/22/2024
3.6.2024.5220034 235 5/22/2024
3.6.2024.5210033 244 5/21/2024
3.6.2024.5210032 221 5/21/2024
3.6.2024.5200031 212 5/20/2024
3.6.2024.5170030 259 5/17/2024
3.6.2024.5160029 184 5/16/2024
3.6.2024.5160028 200 5/16/2024
3.6.2024.5150027 223 5/15/2024
3.6.2024.5140026 197 5/14/2024
3.6.2024.5130025 216 5/13/2024
3.6.2024.5130024 226 5/13/2024
3.6.2024.5110024 194 5/11/2024
3.6.2024.5110023 214 5/11/2024
3.6.2024.5110022 247 5/11/2024
3.6.2024.5100021 217 5/10/2024
3.6.2024.5100020 215 5/10/2024
3.6.2024.5090019 243 5/9/2024
3.6.2024.5080018 224 5/8/2024
3.6.2024.5080017 245 5/8/2024
3.6.2024.5070016 237 5/7/2024
3.6.2024.5060014 322 5/6/2024
3.6.2024.5060010 237 5/6/2024
3.6.2024.5050009 230 5/5/2024
3.6.2024.4290008 223 4/29/2024
3.6.2024.4280007 219 4/28/2024
3.6.2024.4280006 214 4/28/2024
3.6.2024.4260005 219 4/26/2024
3.6.2024.4260004 213 4/26/2024
3.6.2024.4250003 234 4/25/2024
3.6.2024.4250002 195 4/25/2024
3.6.2024.4240001 266 4/24/2024
3.5.2024.4230239 250 4/23/2024
3.5.2024.4220237 227 4/22/2024
3.5.2024.4210236 229 4/21/2024
3.5.2024.4200235 231 4/20/2024
3.5.2024.4190232 259 4/19/2024
3.5.2024.4180230 227 4/18/2024
3.5.2024.4180229 212 4/18/2024
3.5.2024.4170228 251 4/17/2024
3.5.2024.4170226 209 4/17/2024
3.5.2024.4170225 227 4/17/2024
3.5.2024.4160223 219 4/16/2024
3.5.2024.4150222 215 4/15/2024
3.5.2024.4130221 207 4/18/2024
3.5.2024.4110220 199 4/12/2024
3.5.2024.4110219 248 4/12/2024
3.5.2024.4100218 211 4/10/2024
3.5.2024.4100217 223 4/10/2024
3.5.2024.4100216 219 4/10/2024
3.5.2024.4090215 214 4/9/2024
3.5.2024.4080214 227 4/8/2024
3.5.2024.4070213 257 4/7/2024
3.5.2024.4020210 228 4/2/2024
3.5.2024.4020209 219 4/2/2024
3.5.2024.4010208 237 4/1/2024
3.5.2024.3300207 230 3/30/2024
3.5.2024.3300206 216 3/30/2024
3.5.2024.3300205 217 3/30/2024
3.5.2024.3290204 201 3/29/2024
3.5.2024.3280203 231 3/28/2024
3.5.2024.3270202 240 3/27/2024
3.5.2024.3270201 293 3/27/2024
3.5.2024.3250200 235 3/25/2024
3.5.2024.3220198 296 3/22/2024
3.5.2024.3210197 247 3/21/2024
3.5.2024.3200196 260 3/20/2024
3.5.2024.3190195 249 3/19/2024
3.5.2024.3180194 269 3/18/2024
3.5.2024.3170192 244 3/17/2024
3.5.2024.3160191 264 3/16/2024
3.5.2024.3150190 237 3/15/2024
3.5.2024.3130189 258 3/13/2024
3.5.2024.3110188 277 3/11/2024
3.5.2024.3100187 266 3/10/2024
3.5.2024.3100186 219 3/10/2024
3.5.2024.3100185 225 3/10/2024
3.5.2024.3070184 242 3/7/2024
3.5.2024.3070183 259 3/7/2024
3.5.2024.3070179 247 3/7/2024
3.5.2024.3070178 265 3/7/2024
3.5.2024.3060177 276 3/6/2024
3.5.2024.3050175 272 3/5/2024
3.5.2024.3040174 263 3/4/2024
3.5.2024.3040173 259 3/4/2024
3.5.2024.3020172 281 3/2/2024
3.5.2024.3020171 239 3/2/2024
3.5.2024.3020170 275 3/4/2024
3.5.2024.3020169 280 3/2/2024
3.5.2024.3020168 252 3/2/2024
3.5.2024.3020167 278 3/2/2024
3.5.2024.3020166 281 3/2/2024
3.5.2024.3010165 253 3/1/2024
3.5.2024.2290164 277 2/29/2024
3.5.2024.2290163 247 2/29/2024
3.5.2024.2290161 271 2/29/2024
3.5.2024.2280159 236 2/28/2024
3.5.2024.2270157 300 2/27/2024
3.5.2024.2230155 289 2/23/2024
3.5.2024.2210153 274 2/21/2024
3.5.2024.2190152 233 2/19/2024
3.5.2024.2180150 282 2/18/2024
3.5.2024.2170148 224 2/18/2024
3.5.2024.1280144 308 1/28/2024
3.5.2024.1280143 256 1/28/2024
3.5.2024.1260143 250 2/18/2024
3.5.2024.1260142 290 1/26/2024
3.5.2024.1240139 281 1/24/2024
3.5.2024.1240136 265 1/24/2024
3.5.2024.1240135 283 1/24/2024
3.5.2024.1240132 286 1/24/2024
3.5.2024.1230131 254 1/23/2024
3.5.2024.1230130 242 1/23/2024
3.5.2024.1220129 294 1/22/2024
3.5.2024.1190128 318 1/19/2024
3.5.2024.1180124 245 1/18/2024
3.5.2024.1170123 283 1/18/2024
3.5.2024.1160122 257 1/16/2024
3.5.2024.1160121 257 1/16/2024
3.5.2024.1150119 274 1/15/2024
3.5.2024.1150118 242 1/15/2024
3.5.2024.1150117 297 1/15/2024
3.5.2024.1150116 264 1/15/2024
3.5.2024.1150115 284 1/15/2024
3.5.2024.1150114 259 1/14/2024
3.4.2024.1120104 292 1/12/2024
3.4.2024.1120103 245 1/12/2024
3.4.2024.1120102 256 1/12/2024
3.4.2024.1120100 290 1/12/2024
3.4.2024.1120099 265 1/12/2024
3.4.2024.1120098 265 1/12/2024
3.4.2024.1120096 279 1/12/2024
3.4.2024.1120095 242 1/11/2024
3.4.2024.1110094 253 1/11/2024
3.4.2024.1110093 325 1/11/2024
3.4.2024.1100092 293 1/10/2024
3.4.2024.1090091 314 1/9/2024
3.4.2024.1080090 288 1/8/2024
3.4.2024.1080089 294 1/8/2024
3.4.2024.1060088 316 1/6/2024
3.4.2024.1040086 316 1/4/2024
3.4.2024.1030085 271 1/3/2024
3.4.2024.1030084 265 1/3/2024
3.4.2024.1030083 302 1/3/2024
3.4.2024.1020082 270 1/2/2024
3.4.2024.1020081 253 1/2/2024
3.4.2024.1020080 317 1/2/2024
3.4.2023.12290079 317 12/29/2023
3.4.2023.12280078 281 12/28/2023
3.4.2023.12280077 290 12/28/2023
3.4.2023.12270076 273 12/27/2023
3.4.2023.12270075 290 12/27/2023
3.4.2023.12260068 307 12/26/2023
3.4.2023.12220067 285 12/22/2023
3.4.2023.12200066 292 12/20/2023
3.4.2023.12200065 272 12/20/2023
3.4.2023.12190064 274 12/19/2023
3.4.2023.12180061 296 12/18/2023
3.4.2023.12180060 309 12/18/2023
3.4.2023.12150059 318 12/15/2023
3.4.2023.12140058 298 12/14/2023
3.4.2023.12140054 323 12/14/2023
3.4.2023.12140053 296 12/14/2023
3.4.2023.12130052 333 12/13/2023
3.4.2023.12130051 306 12/13/2023
3.4.2023.12120050 299 12/12/2023
3.4.2023.12120049 310 12/12/2023
3.4.2023.12120046 327 12/12/2023
3.4.2023.12100045 312 12/10/2023
3.4.2023.12080044 323 12/8/2023
3.4.2023.12040041 318 12/3/2023
3.4.2023.12020040 298 12/2/2023
3.4.2023.12010038 344 12/1/2023
3.4.2023.12010037 304 12/1/2023
3.4.2023.11300034 352 11/30/2023
3.4.2023.11280033 366 11/28/2023
3.4.2023.11280032 363 11/28/2023
3.4.2023.11280031 333 11/28/2023
3.4.2023.11260030 331 11/26/2023
3.4.2023.11250029 393 11/25/2023
3.4.2023.11230026 396 11/23/2023
3.4.2023.11230008 367 11/23/2023
3.4.2023.11220007 346 11/22/2023
3.4.2023.11220005 359 11/22/2023
3.4.2023.11170004 371 11/17/2023
3.4.2023.11160003 345 11/16/2023
3.4.2023.11150002 371 11/15/2023
3.4.2023.11150001 357 11/15/2023
3.4.2023.1115-beta0001 284 11/15/2023
3.3.2023.1114-beta0072 254 11/14/2023
3.3.2023.1113-beta0071 270 11/13/2023
3.3.2023.1113-beta0066 263 11/13/2023
3.3.2023.1110-beta0065 265 11/10/2023
3.3.2023.1108-beta0064 249 11/8/2023
3.3.2023.1108-beta0063 263 11/8/2023
3.3.2023.1106-beta0061 270 11/6/2023
3.3.2023.1103-beta0060 278 11/3/2023
3.3.2023.1102-beta0058 236 11/23/2023
3.3.2023.1102-beta0057 243 11/2/2023
3.3.2023.1102-beta0051 228 11/2/2023
3.3.2023.1102-beta0049 222 11/2/2023
3.3.2023.1101-beta0048 227 11/1/2023
3.3.2023.1101-beta0047 252 11/1/2023
3.3.2023.1031-beta0046 248 10/31/2023
3.3.2023.1031-beta0045 246 10/31/2023
3.3.2023.1030-beta0044 256 10/30/2023
3.3.2023.1027-beta0043 259 10/27/2023
3.3.2023.1027-beta0037 244 10/27/2023
3.3.2023.1026-beta0034 244 10/26/2023
3.3.2023.1025-beta0024 255 10/25/2023
3.3.2023.1020-beta0002 136 10/20/2023
3.3.2023.1019-beta0001 167 10/20/2023
2.3.2023.1019288 172 10/20/2023
2.3.2023.1018288 420 10/18/2023
2.3.2023.1017286 399 10/17/2023
2.3.2023.1017285 406 10/17/2023
2.3.2023.1016277 427 10/16/2023
2.3.2023.1012276 450 10/12/2023
2.3.2023.1011273 445 10/11/2023
2.3.2023.1011269 410 10/11/2023
2.3.2023.1011268 432 10/11/2023
2.3.2023.1011267 428 10/11/2023
2.3.2023.1011266 437 10/11/2023
2.3.2023.1010265 412 10/11/2023
2.3.2023.1010263 426 10/10/2023
2.3.2023.1010262 422 10/10/2023
2.3.2023.1010260 426 10/10/2023
2.3.2023.1010258 428 10/10/2023
2.3.2023.1010256 237 10/10/2023
2.3.2023.1008255 477 10/8/2023
2.3.2023.1004251 419 10/4/2023
2.3.2023.926250 470 9/26/2023
2.3.2023.922249 418 9/22/2023
2.3.2023.922248 408 9/22/2023
2.3.2023.920247 483 9/20/2023
2.3.2023.920246 411 9/20/2023
2.3.2023.919245 424 9/19/2023
2.3.2023.919244 416 9/19/2023
2.3.2023.919242 381 9/19/2023
2.3.2023.918243 387 9/18/2023
2.3.2023.918242 380 9/18/2023
2.3.2023.914241 479 9/14/2023
2.3.2023.913239 415 9/13/2023
2.3.2023.913235 398 9/13/2023
2.3.2023.913234 403 9/13/2023
2.3.2023.913233 416 9/13/2023
2.3.2023.913232 445 9/13/2023
2.3.2023.913231 477 9/13/2023
2.3.2023.912230 453 9/12/2023
2.3.2023.909228 455 9/9/2023
2.3.2023.909227 418 9/9/2023
2.3.2023.909226 425 9/9/2023
2.3.2023.909223 469 9/9/2023
2.3.2023.909222 461 9/9/2023
2.3.2023.909221 457 9/9/2023
2.3.2023.909220 425 9/9/2023
2.3.2023.909218 450 9/9/2023
2.3.2023.907201 461 9/7/2023
2.3.2023.905200 435 9/5/2023
2.3.2023.904197 416 9/4/2023
2.3.2023.828196 443 8/28/2023
2.3.2023.824195 425 8/24/2023
2.3.2023.823194 446 8/23/2023
2.3.2023.821193 468 8/21/2023
2.3.2023.820192 451 8/20/2023
2.3.2023.817191 474 8/17/2023
2.3.2023.817190 474 8/17/2023
2.3.2023.815189 549 8/15/2023
2.3.2023.812188 512 8/12/2023
2.3.2023.811187 477 8/11/2023
2.3.2023.811186 468 8/10/2023
2.3.2023.810185 475 8/10/2023
2.3.2023.810184 461 8/10/2023
2.3.2023.808183 493 8/8/2023
2.3.2023.807182 540 8/7/2023
2.3.2023.806181 548 8/6/2023
2.3.2023.806178 486 8/6/2023
2.3.2023.802166 567 8/2/2023
2.3.2023.801165 468 8/1/2023
2.3.2023.731164 503 7/31/2023
2.3.2023.730163 526 7/30/2023
2.3.2023.729162 443 7/29/2023
2.3.2023.729161 469 7/29/2023
2.3.2023.729160 477 7/29/2023
2.3.2023.729159 465 7/29/2023
2.3.2023.728158 460 7/28/2023
2.3.2023.728157 480 7/28/2023
2.3.2023.727156 455 7/27/2023
2.3.2023.726155 492 7/26/2023
2.3.2023.726154 480 7/26/2023
2.3.2023.726152 466 7/26/2023
2.3.2023.725149 467 7/25/2023
2.3.2023.725148 461 7/25/2023
2.3.2023.721147 539 7/22/2023
2.3.2023.721146 486 7/21/2023
2.3.2023.720140 470 7/20/2023
2.3.2023.717139 575 7/17/2023
2.3.2023.717138 506 7/17/2023
2.3.2023.716138 483 7/16/2023
2.3.2023.715138 531 7/15/2023
2.3.2023.715137 530 7/15/2023
2.3.2023.715136 496 7/15/2023
2.3.2023.713134 491 7/13/2023
2.3.2023.712133 561 7/12/2023
2.3.2023.711132 488 7/11/2023
2.3.2023.711131 496 7/11/2023
2.3.2023.711129 495 7/11/2023
2.3.2023.709131 593 7/9/2023
2.3.2023.708128 493 7/11/2023
2.3.2023.708127 482 7/8/2023
2.3.2023.707121 533 7/7/2023
2.3.2023.707120 533 7/7/2023
2.3.2023.706119 503 7/6/2023
2.3.2023.706118 511 7/6/2023
2.3.2023.705108 536 7/5/2023
2.3.2023.705107 543 7/5/2023
2.3.2023.705104 501 7/5/2023
2.3.2023.704103 513 7/4/2023
2.3.2023.703102 523 7/4/2023
2.3.2023.703101 505 7/4/2023
2.3.2023.703100 521 7/3/2023
2.3.2023.703099 525 7/3/2023
2.3.2023.703098 538 7/3/2023
2.3.2023.630097 517 6/29/2023
2.3.2023.629096 524 6/29/2023
2.3.2023.625095 596 6/25/2023
2.3.2023.621094 512 6/21/2023
2.3.2023.620093 548 6/20/2023
2.3.2023.620092 561 6/20/2023
2.3.2023.619088 547 6/19/2023
2.3.2023.619087 532 6/19/2023
2.3.2023.619086 529 6/19/2023
2.3.2023.619085 508 6/19/2023
2.3.2023.619084 524 6/19/2023
2.3.2023.618083 552 6/19/2023
2.3.2023.617080 534 6/17/2023
2.3.2023.616079 578 6/16/2023
2.3.2023.615078 552 6/15/2023
2.3.2023.614075 626 6/14/2023
2.3.2023.612074 687 6/12/2023
2.3.2023.612073 547 6/12/2023
2.3.2023.612072 559 6/11/2023
2.3.2023.610071 631 6/10/2023
2.3.2023.610070 587 6/10/2023
2.3.2023.608070 613 6/8/2023
2.3.2023.605067 596 6/5/2023
2.3.2023.602066 570 6/2/2023
2.3.2023.602065 564 6/2/2023
2.3.2023.601063 581 6/1/2023
2.3.2023.601062 590 5/31/2023
2.3.2023.531061 557 5/31/2023
2.3.2023.530060 592 5/30/2023
2.3.2023.530049 601 5/29/2023
2.3.2023.529048 658 5/29/2023
2.3.2023.529047 614 5/29/2023
2.3.2023.529046 623 5/28/2023
2.3.2023.528045 631 5/28/2023
2.3.2023.528044 616 5/28/2023
2.3.2023.528043 562 5/28/2023
2.3.2023.525040 577 5/25/2023
2.3.2023.525039 603 5/25/2023
2.3.2023.524038 598 5/24/2023
2.3.2023.524037 583 5/23/2023
2.3.2023.520036 555 5/20/2023
2.3.2023.520035 515 5/20/2023
2.3.2023.520032 491 5/23/2023
2.3.2023.519031 508 5/19/2023
2.3.2023.515030 582 5/15/2023
2.3.2023.512029 565 5/12/2023
2.3.2023.512027 500 5/12/2023
2.3.2023.511025 545 5/11/2023
2.3.2023.510022 511 5/10/2023
2.3.2023.510016 533 5/9/2023
2.3.2023.507015 607 5/7/2023
2.3.2023.507014 568 5/7/2023
2.3.2023.505013 550 5/5/2023
2.3.2023.505012 597 5/5/2023
2.3.2023.502011 640 5/2/2023
2.3.2023.502010 610 5/2/2023
2.3.2023.502009 622 5/2/2023
2.3.2023.502008 563 5/2/2023
2.3.2023.501007 679 5/1/2023
2.3.2023.501006 649 5/1/2023
2.3.2023.501005 549 5/1/2023
2.3.2023.501004 629 5/1/2023
2.3.2023.428002 553 5/5/2023
2.3.2023.427001 583 4/27/2023
2.2.2023.222-beta00001 369 2/25/2023
1.3.2023.427180 622 4/27/2023
1.3.2023.427179 650 4/27/2023
1.3.2023.427176 682 4/27/2023
1.3.2023.427171 608 4/27/2023
1.3.2023.427170 663 4/27/2023
1.3.2023.427159 598 4/26/2023
1.3.2023.426158 690 4/26/2023
1.3.2023.425154 719 4/25/2023
1.3.2023.425153 605 4/25/2023
1.3.2023.425149 552 4/25/2023
1.3.2023.425148 553 4/25/2023
1.3.2023.425146 596 4/25/2023
1.3.2023.425144 569 4/24/2023
1.3.2023.424143 638 4/24/2023
1.3.2023.424142 585 4/24/2023
1.3.2023.424139 613 4/24/2023
1.3.2023.423138 613 4/24/2023
1.3.2023.423137 629 4/24/2023
1.3.2023.423136 594 4/24/2023
1.3.2023.423134 626 4/23/2023
1.3.2023.423120 611 4/23/2023
1.3.2023.423119 634 4/22/2023
1.3.2023.421118 629 4/21/2023
1.3.2023.420117 650 4/20/2023
1.3.2023.419116 608 4/19/2023
1.3.2023.419114 645 4/19/2023
1.3.2023.419113 592 4/19/2023
1.3.2023.419112 717 4/19/2023
1.3.2023.419108 361 4/19/2023
1.3.2023.419107 324 4/19/2023
1.3.2023.419106 585 4/19/2023
1.3.2023.419104 589 4/19/2023
1.3.2023.418103 623 4/18/2023
1.3.2023.418102 619 4/18/2023
1.3.2023.417101 630 4/17/2023
1.3.2023.417100 631 4/17/2023
1.3.2023.41599 690 4/15/2023
1.3.2023.41598 668 4/17/2023
1.3.2023.41497 668 4/14/2023
1.3.2023.41496 660 4/14/2023
1.3.2023.41394 609 4/12/2023
1.3.2023.41294 641 4/14/2023
1.3.2023.41293 653 4/12/2023
1.3.2023.41192 640 4/11/2023
1.3.2023.41090 666 4/10/2023
1.3.2023.40888 673 4/8/2023
1.3.2023.40887 653 4/8/2023
1.3.2023.40886 651 4/8/2023
1.3.2023.40785 622 4/7/2023
1.3.2023.40683 643 4/6/2023
1.3.2023.40682 625 4/6/2023
1.3.2023.40681 644 4/6/2023
1.3.2023.40480 653 4/3/2023
1.3.2023.40279 665 4/2/2023
1.3.2023.40178 700 4/1/2023
1.3.2023.40177 686 4/1/2023
1.3.2023.33176 631 3/31/2023
1.3.2023.32774 690 3/27/2023
1.3.2023.32672 675 3/26/2023
1.3.2023.32669 709 3/26/2023
1.3.2023.32668 697 3/26/2023
1.3.2023.32667 676 3/26/2023
1.3.2023.32666 703 3/26/2023
1.3.2023.32665 693 3/26/2023
1.3.2023.32563 728 3/25/2023
1.3.2023.32562 669 3/25/2023
1.3.2023.32561 677 3/25/2023
1.3.2023.32360 702 3/23/2023
1.3.2023.32359 700 3/23/2023
1.3.2023.32358 658 3/23/2023
1.3.2023.32357 680 3/23/2023
1.3.2023.32356 739 3/22/2023
1.3.2023.32355 670 3/22/2023
1.3.2023.32154 691 3/21/2023
1.3.2023.32153 677 3/21/2023
1.3.2023.32152 877 3/21/2023
1.3.2023.32149 672 3/21/2023
1.3.2023.31949 715 3/19/2023
1.3.2023.31740 726 3/17/2023
1.3.2023.31540 715 3/15/2023
1.3.2023.31539 740 3/15/2023
1.3.2023.31437 728 3/14/2023
1.3.2023.31436 711 3/13/2023
1.3.2023.31335 731 3/13/2023
1.3.2023.31334 698 3/12/2023
1.3.2023.31333 679 3/12/2023
1.3.2023.31232 699 3/12/2023
1.3.2023.31231 709 3/12/2023
1.3.2023.31128 703 3/13/2023
1.3.2023.31127 773 3/11/2023
1.3.2023.31121 738 3/11/2023
1.3.2023.31020 731 3/9/2023
1.3.2023.30919 751 3/8/2023
1.3.2023.30818 748 3/8/2023
1.3.2023.30816 734 3/8/2023
1.3.2023.30813 744 3/7/2023
1.3.2023.30712 736 3/6/2023
1.3.2023.30611 767 3/6/2023
1.3.2023.30210 770 3/2/2023
1.3.2023.3029 762 3/2/2023
1.3.2023.3028 767 3/1/2023
1.3.2023.3017 756 3/1/2023
1.3.2023.3016 791 2/28/2023
1.3.2023.2285 752 2/28/2023
1.3.2023.2274 756 2/27/2023
1.3.2023.2253 771 2/25/2023
1.3.2023.2232 754 2/22/2023
1.3.2023.2221 731 2/22/2023
1.2.2023.219-beta00036 442 2/19/2023
1.2.2023.217-beta00035 440 2/17/2023
1.2.2023.215-beta00034 436 2/15/2023
1.2.2023.214-beta00033 438 2/14/2023
1.2.2023.213-beta00032 439 2/13/2023
1.2.2023.213-beta00031 459 2/13/2023
1.2.2023.212-beta00031 442 2/12/2023
1.2.2023.211-beta00029 454 2/11/2023
1.2.2023.211-beta00028 427 2/11/2023
1.2.2023.211-beta00027 453 2/11/2023
1.2.2023.210-beta00026 435 2/10/2023
1.2.2023.209-beta00025 435 2/9/2023
1.2.2023.208-beta00024 462 2/8/2023
1.2.2023.208-beta00023 198 2/8/2023
1.2.2023.207-beta00023 423 2/7/2023
1.2.2023.206-beta00021 443 2/6/2023
1.2.2023.206-beta00020 610 2/6/2023
1.2.2023.204-beta00019 489 2/4/2023
1.2.2023.202-beta00018 431 2/2/2023
1.2.2023.130-beta00016 461 1/30/2023
1.2.2023.129-beta00015 448 1/29/2023
1.2.2023.128-beta00014 439 1/28/2023
1.2.2023.120-beta00012 437 1/20/2023
1.2.2023.120-beta00011 454 1/20/2023
1.2.2023.112-beta00010 458 1/12/2023
1.2.2023.111-beta00009 458 1/11/2023
1.2.2023.110-beta00008 438 1/9/2023
1.2.2023.108-beta00007 447 1/8/2023
1.2.2023.105-beta00006 427 1/5/2023
1.2.2023.103-beta00005 457 1/3/2023
1.2.2023.103-beta00004 452 1/3/2023
1.2.2023.101-beta00001 439 1/1/2023
1.1.2022.1229-beta00043 434 12/29/2022
1.1.2022.1228-beta00041 437 12/28/2022
1.1.2022.1227-beta00036 429 12/28/2022
1.1.2022.1226-beta00035 441 12/26/2022
1.1.2022.1225-beta00035 206 12/26/2022
1.1.2022.1225-beta00034 448 12/25/2022
1.1.2022.1221-beta00032 442 12/21/2022
1.1.2022.1221-beta00031 462 12/21/2022
1.1.2022.1220-beta00030 468 12/20/2022
1.1.2022.1220-beta00027 438 12/20/2022
1.1.2022.1220-beta00026 453 12/20/2022
1.1.2022.1220-beta00025 439 12/20/2022
1.1.2022.1220-beta00024 588 12/20/2022
1.1.2022.1219-beta00022 450 12/19/2022
1.1.2022.1219-beta00021 453 12/19/2022
1.1.2022.1219-beta00020 426 12/19/2022
1.1.2022.1219-beta00019 448 12/19/2022
1.1.2022.1219-beta00018 417 12/19/2022
1.1.2022.1214-beta00016 422 12/14/2022
1.1.2022.1212-beta00015 448 12/12/2022
1.1.2022.1210-beta00015 441 12/12/2022
1.1.2022.1210-beta00014 246 12/10/2022
1.1.2022.1210-beta00013 226 12/10/2022
1.1.2022.1208-beta00012 224 12/8/2022
1.1.2022.1207-beta00011 233 12/7/2022
1.1.2022.1203-beta00010 251 12/3/2022
1.1.2022.1201-beta00009 246 11/30/2022
1.1.2022.1129-beta00008 234 11/29/2022
1.1.2022.1127-beta00007 239 11/29/2022
1.1.2022.1126-beta00007 225 11/26/2022
1.1.2022.1126-beta00006 247 11/26/2022
1.1.2022.1126-beta00005 229 11/26/2022
1.1.2022.1125-beta00004 238 11/26/2022
1.1.2022.1120-beta00003 244 11/20/2022
1.1.2022.1112-beta00002 257 11/20/2022
1.1.2022.1110-beta00001 244 11/10/2022
1.0.2022.1109-beta00012 245 11/8/2022
1.0.2022.1107-beta00011 191 11/6/2022
1.0.2022.1104-beta00008 201 11/4/2022
1.0.2022.1103-beta00007 177 11/3/2022
1.0.2022.1101-beta00006 187 11/1/2022
1.0.2022.1031-beta00004 188 10/31/2022

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