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 50 11/26/2024
4.0.2024.1123-beta0939 152 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 362 11/4/2024
3.91.2024.1101-beta0242 92 11/1/2024
3.91.2024.1031 127 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 575 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 185 9/21/2024
3.9.2024.9210002 210 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 275 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 193 8/16/2024
3.6.2024.8150164 281 8/15/2024
3.6.2024.8140163 232 8/14/2024
3.6.2024.8140162 238 8/14/2024
3.6.2024.8140161 240 8/14/2024
3.6.2024.8130160 232 8/13/2024
3.6.2024.8130159 240 8/13/2024
3.6.2024.8130158 236 8/13/2024
3.6.2024.8130156 251 8/13/2024
3.6.2024.8130155 234 8/13/2024
3.6.2024.8120153 231 8/12/2024
3.6.2024.8120151 227 8/12/2024
3.6.2024.8110150 187 8/11/2024
3.6.2024.8100148 228 8/10/2024
3.6.2024.8100147 224 8/9/2024
3.6.2024.8090146 214 8/9/2024
3.6.2024.8090145 290 8/9/2024
3.6.2024.8080141 197 8/8/2024
3.6.2024.8070140 201 8/7/2024
3.6.2024.8070139 196 8/7/2024
3.6.2024.8070138 219 8/7/2024
3.6.2024.8050137 186 8/5/2024
3.6.2024.8050135 161 8/5/2024
3.6.2024.8040133 162 8/4/2024
3.6.2024.8030132 156 8/3/2024
3.6.2024.8020131 169 8/2/2024
3.6.2024.8010128 199 8/1/2024
3.6.2024.7310126 134 7/31/2024
3.6.2024.7300125 134 7/30/2024
3.6.2024.7290124 155 7/29/2024
3.6.2024.7270123 138 7/27/2024
3.6.2024.7260122 142 7/26/2024
3.6.2024.7240120 180 7/24/2024
3.6.2024.7230119 183 7/23/2024
3.6.2024.7220118 254 7/22/2024
3.6.2024.7220114 207 7/22/2024
3.6.2024.7220113 218 7/22/2024
3.6.2024.7190112 198 7/19/2024
3.6.2024.7190111 226 7/19/2024
3.6.2024.7180110 212 7/18/2024
3.6.2024.7170109 208 7/17/2024
3.6.2024.7160108 213 7/16/2024
3.6.2024.7160107 197 7/16/2024
3.6.2024.7150106 175 7/15/2024
3.6.2024.7150105 233 7/15/2024
3.6.2024.7130104 209 7/13/2024
3.6.2024.7130103 200 7/13/2024
3.6.2024.7120102 198 7/12/2024
3.6.2024.7110101 213 7/11/2024
3.6.2024.7100100 217 7/10/2024
3.6.2024.7090099 198 7/9/2024
3.6.2024.7090098 219 7/9/2024
3.6.2024.7090097 203 7/9/2024
3.6.2024.7090096 219 7/8/2024
3.6.2024.7080095 208 7/8/2024
3.6.2024.7080094 219 7/8/2024
3.6.2024.7080091 206 7/8/2024
3.6.2024.7050090 226 7/5/2024
3.6.2024.7040089 225 7/4/2024
3.6.2024.7030088 220 7/3/2024
3.6.2024.7020087 227 7/2/2024
3.6.2024.7020086 226 7/2/2024
3.6.2024.7010085 242 7/1/2024
3.6.2024.7010084 215 7/1/2024
3.6.2024.6290083 228 6/29/2024
3.6.2024.6280082 215 6/28/2024
3.6.2024.6270081 217 6/27/2024
3.6.2024.6260080 219 6/26/2024
3.6.2024.6250079 213 6/25/2024
3.6.2024.6250078 212 6/25/2024
3.6.2024.6250077 219 6/24/2024
3.6.2024.6240076 213 6/24/2024
3.6.2024.6240075 213 6/24/2024
3.6.2024.6200074 238 6/20/2024
3.6.2024.6190073 241 6/19/2024
3.6.2024.6180072 224 6/18/2024
3.6.2024.6170071 209 6/17/2024
3.6.2024.6150070 237 6/15/2024
3.6.2024.6140069 229 6/14/2024
3.6.2024.6130068 218 6/13/2024
3.6.2024.6130067 224 6/13/2024
3.6.2024.6120062 204 6/12/2024
3.6.2024.6120061 211 6/12/2024
3.6.2024.6110060 211 6/11/2024
3.6.2024.6090059 222 6/9/2024
3.6.2024.6060058 229 6/6/2024
3.6.2024.6050057 228 6/5/2024
3.6.2024.6040056 237 6/4/2024
3.6.2024.6030055 205 6/3/2024
3.6.2024.5310054 218 5/31/2024
3.6.2024.5300053 267 5/30/2024
3.6.2024.5290052 231 5/29/2024
3.6.2024.5290051 215 5/29/2024
3.6.2024.5280050 216 5/28/2024
3.6.2024.5270049 234 5/27/2024
3.6.2024.5250048 231 5/25/2024
3.6.2024.5250047 235 5/25/2024
3.6.2024.5240046 234 5/24/2024
3.6.2024.5240045 236 5/24/2024
3.6.2024.5240044 237 5/24/2024
3.6.2024.5240043 222 5/24/2024
3.6.2024.5230039 234 5/23/2024
3.6.2024.5230038 232 5/23/2024
3.6.2024.5230037 224 5/23/2024
3.6.2024.5220036 231 5/23/2024
3.6.2024.5220035 229 5/22/2024
3.6.2024.5220034 233 5/22/2024
3.6.2024.5210033 242 5/21/2024
3.6.2024.5210032 219 5/21/2024
3.6.2024.5200031 210 5/20/2024
3.6.2024.5170030 257 5/17/2024
3.6.2024.5160029 182 5/16/2024
3.6.2024.5160028 198 5/16/2024
3.6.2024.5150027 221 5/15/2024
3.6.2024.5140026 195 5/14/2024
3.6.2024.5130025 214 5/13/2024
3.6.2024.5130024 224 5/13/2024
3.6.2024.5110024 192 5/11/2024
3.6.2024.5110023 212 5/11/2024
3.6.2024.5110022 245 5/11/2024
3.6.2024.5100021 215 5/10/2024
3.6.2024.5100020 213 5/10/2024
3.6.2024.5090019 241 5/9/2024
3.6.2024.5080018 222 5/8/2024
3.6.2024.5080017 243 5/8/2024
3.6.2024.5070016 235 5/7/2024
3.6.2024.5060014 320 5/6/2024
3.6.2024.5060010 235 5/6/2024
3.6.2024.5050009 228 5/5/2024
3.6.2024.4290008 221 4/29/2024
3.6.2024.4280007 217 4/28/2024
3.6.2024.4280006 212 4/28/2024
3.6.2024.4260005 217 4/26/2024
3.6.2024.4260004 211 4/26/2024
3.6.2024.4250003 232 4/25/2024
3.6.2024.4250002 193 4/25/2024
3.6.2024.4240001 264 4/24/2024
3.5.2024.4230239 248 4/23/2024
3.5.2024.4220237 225 4/22/2024
3.5.2024.4210236 227 4/21/2024
3.5.2024.4200235 229 4/20/2024
3.5.2024.4190232 257 4/19/2024
3.5.2024.4180230 225 4/18/2024
3.5.2024.4180229 210 4/18/2024
3.5.2024.4170228 249 4/17/2024
3.5.2024.4170226 207 4/17/2024
3.5.2024.4170225 225 4/17/2024
3.5.2024.4160223 217 4/16/2024
3.5.2024.4150222 213 4/15/2024
3.5.2024.4130221 205 4/18/2024
3.5.2024.4110220 197 4/12/2024
3.5.2024.4110219 246 4/12/2024
3.5.2024.4100218 209 4/10/2024
3.5.2024.4100217 221 4/10/2024
3.5.2024.4100216 217 4/10/2024
3.5.2024.4090215 212 4/9/2024
3.5.2024.4080214 225 4/8/2024
3.5.2024.4070213 255 4/7/2024
3.5.2024.4020210 226 4/2/2024
3.5.2024.4020209 217 4/2/2024
3.5.2024.4010208 235 4/1/2024
3.5.2024.3300207 228 3/30/2024
3.5.2024.3300206 214 3/30/2024
3.5.2024.3300205 215 3/30/2024
3.5.2024.3290204 199 3/29/2024
3.5.2024.3280203 229 3/28/2024
3.5.2024.3270202 238 3/27/2024
3.5.2024.3270201 291 3/27/2024
3.5.2024.3250200 233 3/25/2024
3.5.2024.3220198 294 3/22/2024
3.5.2024.3210197 245 3/21/2024
3.5.2024.3200196 258 3/20/2024
3.5.2024.3190195 247 3/19/2024
3.5.2024.3180194 267 3/18/2024
3.5.2024.3170192 242 3/17/2024
3.5.2024.3160191 260 3/16/2024
3.5.2024.3150190 235 3/15/2024
3.5.2024.3130189 256 3/13/2024
3.5.2024.3110188 275 3/11/2024
3.5.2024.3100187 264 3/10/2024
3.5.2024.3100186 217 3/10/2024
3.5.2024.3100185 223 3/10/2024
3.5.2024.3070184 240 3/7/2024
3.5.2024.3070183 257 3/7/2024
3.5.2024.3070179 245 3/7/2024
3.5.2024.3070178 263 3/7/2024
3.5.2024.3060177 274 3/6/2024
3.5.2024.3050175 268 3/5/2024
3.5.2024.3040174 261 3/4/2024
3.5.2024.3040173 257 3/4/2024
3.5.2024.3020172 279 3/2/2024
3.5.2024.3020171 237 3/2/2024
3.5.2024.3020170 273 3/4/2024
3.5.2024.3020169 278 3/2/2024
3.5.2024.3020168 250 3/2/2024
3.5.2024.3020167 276 3/2/2024
3.5.2024.3020166 279 3/2/2024
3.5.2024.3010165 251 3/1/2024
3.5.2024.2290164 275 2/29/2024
3.5.2024.2290163 245 2/29/2024
3.5.2024.2290161 269 2/29/2024
3.5.2024.2280159 234 2/28/2024
3.5.2024.2270157 298 2/27/2024
3.5.2024.2230155 287 2/23/2024
3.5.2024.2210153 272 2/21/2024
3.5.2024.2190152 231 2/19/2024
3.5.2024.2180150 280 2/18/2024
3.5.2024.2170148 222 2/18/2024
3.5.2024.1280144 306 1/28/2024
3.5.2024.1280143 254 1/28/2024
3.5.2024.1260143 248 2/18/2024
3.5.2024.1260142 288 1/26/2024
3.5.2024.1240139 279 1/24/2024
3.5.2024.1240136 263 1/24/2024
3.5.2024.1240135 281 1/24/2024
3.5.2024.1240132 284 1/24/2024
3.5.2024.1230131 252 1/23/2024
3.5.2024.1230130 240 1/23/2024
3.5.2024.1220129 292 1/22/2024
3.5.2024.1190128 316 1/19/2024
3.5.2024.1180124 243 1/18/2024
3.5.2024.1170123 281 1/18/2024
3.5.2024.1160122 255 1/16/2024
3.5.2024.1160121 255 1/16/2024
3.5.2024.1150119 272 1/15/2024
3.5.2024.1150118 240 1/15/2024
3.5.2024.1150117 295 1/15/2024
3.5.2024.1150116 262 1/15/2024
3.5.2024.1150115 282 1/15/2024
3.5.2024.1150114 257 1/14/2024
3.4.2024.1120104 290 1/12/2024
3.4.2024.1120103 243 1/12/2024
3.4.2024.1120102 254 1/12/2024
3.4.2024.1120100 288 1/12/2024
3.4.2024.1120099 263 1/12/2024
3.4.2024.1120098 263 1/12/2024
3.4.2024.1120096 277 1/12/2024
3.4.2024.1120095 240 1/11/2024
3.4.2024.1110094 251 1/11/2024
3.4.2024.1110093 323 1/11/2024
3.4.2024.1100092 291 1/10/2024
3.4.2024.1090091 312 1/9/2024
3.4.2024.1080090 286 1/8/2024
3.4.2024.1080089 292 1/8/2024
3.4.2024.1060088 314 1/6/2024
3.4.2024.1040086 314 1/4/2024
3.4.2024.1030085 269 1/3/2024
3.4.2024.1030084 263 1/3/2024
3.4.2024.1030083 300 1/3/2024
3.4.2024.1020082 268 1/2/2024
3.4.2024.1020081 251 1/2/2024
3.4.2024.1020080 315 1/2/2024
3.4.2023.12290079 315 12/29/2023
3.4.2023.12280078 279 12/28/2023
3.4.2023.12280077 288 12/28/2023
3.4.2023.12270076 271 12/27/2023
3.4.2023.12270075 288 12/27/2023
3.4.2023.12260068 305 12/26/2023
3.4.2023.12220067 283 12/22/2023
3.4.2023.12200066 290 12/20/2023
3.4.2023.12200065 270 12/20/2023
3.4.2023.12190064 272 12/19/2023
3.4.2023.12180061 294 12/18/2023
3.4.2023.12180060 307 12/18/2023
3.4.2023.12150059 316 12/15/2023
3.4.2023.12140058 296 12/14/2023
3.4.2023.12140054 321 12/14/2023
3.4.2023.12140053 294 12/14/2023
3.4.2023.12130052 331 12/13/2023
3.4.2023.12130051 304 12/13/2023
3.4.2023.12120050 297 12/12/2023
3.4.2023.12120049 308 12/12/2023
3.4.2023.12120046 325 12/12/2023
3.4.2023.12100045 310 12/10/2023
3.4.2023.12080044 321 12/8/2023
3.4.2023.12040041 316 12/3/2023
3.4.2023.12020040 296 12/2/2023
3.4.2023.12010038 342 12/1/2023
3.4.2023.12010037 302 12/1/2023
3.4.2023.11300034 350 11/30/2023
3.4.2023.11280033 364 11/28/2023
3.4.2023.11280032 361 11/28/2023
3.4.2023.11280031 331 11/28/2023
3.4.2023.11260030 329 11/26/2023
3.4.2023.11250029 391 11/25/2023
3.4.2023.11230026 394 11/23/2023
3.4.2023.11230008 365 11/23/2023
3.4.2023.11220007 344 11/22/2023
3.4.2023.11220005 357 11/22/2023
3.4.2023.11170004 369 11/17/2023
3.4.2023.11160003 343 11/16/2023
3.4.2023.11150002 369 11/15/2023
3.4.2023.11150001 355 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 170 10/20/2023
2.3.2023.1018288 418 10/18/2023
2.3.2023.1017286 397 10/17/2023
2.3.2023.1017285 404 10/17/2023
2.3.2023.1016277 425 10/16/2023
2.3.2023.1012276 448 10/12/2023
2.3.2023.1011273 443 10/11/2023
2.3.2023.1011269 408 10/11/2023
2.3.2023.1011268 429 10/11/2023
2.3.2023.1011267 425 10/11/2023
2.3.2023.1011266 434 10/11/2023
2.3.2023.1010265 409 10/11/2023
2.3.2023.1010263 423 10/10/2023
2.3.2023.1010262 420 10/10/2023
2.3.2023.1010260 424 10/10/2023
2.3.2023.1010258 426 10/10/2023
2.3.2023.1010256 235 10/10/2023
2.3.2023.1008255 475 10/8/2023
2.3.2023.1004251 417 10/4/2023
2.3.2023.926250 468 9/26/2023
2.3.2023.922249 416 9/22/2023
2.3.2023.922248 406 9/22/2023
2.3.2023.920247 481 9/20/2023
2.3.2023.920246 409 9/20/2023
2.3.2023.919245 422 9/19/2023
2.3.2023.919244 414 9/19/2023
2.3.2023.919242 379 9/19/2023
2.3.2023.918243 385 9/18/2023
2.3.2023.918242 378 9/18/2023
2.3.2023.914241 477 9/14/2023
2.3.2023.913239 413 9/13/2023
2.3.2023.913235 396 9/13/2023
2.3.2023.913234 401 9/13/2023
2.3.2023.913233 414 9/13/2023
2.3.2023.913232 443 9/13/2023
2.3.2023.913231 475 9/13/2023
2.3.2023.912230 451 9/12/2023
2.3.2023.909228 453 9/9/2023
2.3.2023.909227 416 9/9/2023
2.3.2023.909226 423 9/9/2023
2.3.2023.909223 467 9/9/2023
2.3.2023.909222 459 9/9/2023
2.3.2023.909221 455 9/9/2023
2.3.2023.909220 423 9/9/2023
2.3.2023.909218 448 9/9/2023
2.3.2023.907201 459 9/7/2023
2.3.2023.905200 433 9/5/2023
2.3.2023.904197 414 9/4/2023
2.3.2023.828196 441 8/28/2023
2.3.2023.824195 423 8/24/2023
2.3.2023.823194 444 8/23/2023
2.3.2023.821193 466 8/21/2023
2.3.2023.820192 449 8/20/2023
2.3.2023.817191 472 8/17/2023
2.3.2023.817190 472 8/17/2023
2.3.2023.815189 547 8/15/2023
2.3.2023.812188 510 8/12/2023
2.3.2023.811187 475 8/11/2023
2.3.2023.811186 466 8/10/2023
2.3.2023.810185 473 8/10/2023
2.3.2023.810184 459 8/10/2023
2.3.2023.808183 491 8/8/2023
2.3.2023.807182 538 8/7/2023
2.3.2023.806181 546 8/6/2023
2.3.2023.806178 484 8/6/2023
2.3.2023.802166 565 8/2/2023
2.3.2023.801165 466 8/1/2023
2.3.2023.731164 501 7/31/2023
2.3.2023.730163 524 7/30/2023
2.3.2023.729162 441 7/29/2023
2.3.2023.729161 467 7/29/2023
2.3.2023.729160 475 7/29/2023
2.3.2023.729159 463 7/29/2023
2.3.2023.728158 458 7/28/2023
2.3.2023.728157 478 7/28/2023
2.3.2023.727156 453 7/27/2023
2.3.2023.726155 490 7/26/2023
2.3.2023.726154 478 7/26/2023
2.3.2023.726152 464 7/26/2023
2.3.2023.725149 465 7/25/2023
2.3.2023.725148 459 7/25/2023
2.3.2023.721147 537 7/22/2023
2.3.2023.721146 484 7/21/2023
2.3.2023.720140 468 7/20/2023
2.3.2023.717139 573 7/17/2023
2.3.2023.717138 504 7/17/2023
2.3.2023.716138 481 7/16/2023
2.3.2023.715138 529 7/15/2023
2.3.2023.715137 528 7/15/2023
2.3.2023.715136 494 7/15/2023
2.3.2023.713134 489 7/13/2023
2.3.2023.712133 559 7/12/2023
2.3.2023.711132 486 7/11/2023
2.3.2023.711131 494 7/11/2023
2.3.2023.711129 493 7/11/2023
2.3.2023.709131 591 7/9/2023
2.3.2023.708128 491 7/11/2023
2.3.2023.708127 480 7/8/2023
2.3.2023.707121 531 7/7/2023
2.3.2023.707120 531 7/7/2023
2.3.2023.706119 501 7/6/2023
2.3.2023.706118 509 7/6/2023
2.3.2023.705108 534 7/5/2023
2.3.2023.705107 541 7/5/2023
2.3.2023.705104 499 7/5/2023
2.3.2023.704103 511 7/4/2023
2.3.2023.703102 521 7/4/2023
2.3.2023.703101 503 7/4/2023
2.3.2023.703100 519 7/3/2023
2.3.2023.703099 523 7/3/2023
2.3.2023.703098 536 7/3/2023
2.3.2023.630097 515 6/29/2023
2.3.2023.629096 522 6/29/2023
2.3.2023.625095 594 6/25/2023
2.3.2023.621094 510 6/21/2023
2.3.2023.620093 546 6/20/2023
2.3.2023.620092 559 6/20/2023
2.3.2023.619088 545 6/19/2023
2.3.2023.619087 530 6/19/2023
2.3.2023.619086 527 6/19/2023
2.3.2023.619085 506 6/19/2023
2.3.2023.619084 522 6/19/2023
2.3.2023.618083 550 6/19/2023
2.3.2023.617080 532 6/17/2023
2.3.2023.616079 576 6/16/2023
2.3.2023.615078 550 6/15/2023
2.3.2023.614075 624 6/14/2023
2.3.2023.612074 685 6/12/2023
2.3.2023.612073 545 6/12/2023
2.3.2023.612072 557 6/11/2023
2.3.2023.610071 629 6/10/2023
2.3.2023.610070 585 6/10/2023
2.3.2023.608070 611 6/8/2023
2.3.2023.605067 594 6/5/2023
2.3.2023.602066 568 6/2/2023
2.3.2023.602065 562 6/2/2023
2.3.2023.601063 579 6/1/2023
2.3.2023.601062 588 5/31/2023
2.3.2023.531061 555 5/31/2023
2.3.2023.530060 583 5/30/2023
2.3.2023.530049 599 5/29/2023
2.3.2023.529048 656 5/29/2023
2.3.2023.529047 612 5/29/2023
2.3.2023.529046 621 5/28/2023
2.3.2023.528045 629 5/28/2023
2.3.2023.528044 614 5/28/2023
2.3.2023.528043 560 5/28/2023
2.3.2023.525040 575 5/25/2023
2.3.2023.525039 601 5/25/2023
2.3.2023.524038 596 5/24/2023
2.3.2023.524037 581 5/23/2023
2.3.2023.520036 553 5/20/2023
2.3.2023.520035 513 5/20/2023
2.3.2023.520032 489 5/23/2023
2.3.2023.519031 506 5/19/2023
2.3.2023.515030 580 5/15/2023
2.3.2023.512029 563 5/12/2023
2.3.2023.512027 498 5/12/2023
2.3.2023.511025 543 5/11/2023
2.3.2023.510022 509 5/10/2023
2.3.2023.510016 531 5/9/2023
2.3.2023.507015 605 5/7/2023
2.3.2023.507014 566 5/7/2023
2.3.2023.505013 548 5/5/2023
2.3.2023.505012 595 5/5/2023
2.3.2023.502011 638 5/2/2023
2.3.2023.502010 608 5/2/2023
2.3.2023.502009 620 5/2/2023
2.3.2023.502008 561 5/2/2023
2.3.2023.501007 677 5/1/2023
2.3.2023.501006 647 5/1/2023
2.3.2023.501005 547 5/1/2023
2.3.2023.501004 627 5/1/2023
2.3.2023.428002 551 5/5/2023
2.3.2023.427001 581 4/27/2023
2.2.2023.222-beta00001 369 2/25/2023
1.3.2023.427180 620 4/27/2023
1.3.2023.427179 648 4/27/2023
1.3.2023.427176 680 4/27/2023
1.3.2023.427171 606 4/27/2023
1.3.2023.427170 661 4/27/2023
1.3.2023.427159 596 4/26/2023
1.3.2023.426158 688 4/26/2023
1.3.2023.425154 717 4/25/2023
1.3.2023.425153 603 4/25/2023
1.3.2023.425149 550 4/25/2023
1.3.2023.425148 551 4/25/2023
1.3.2023.425146 594 4/25/2023
1.3.2023.425144 567 4/24/2023
1.3.2023.424143 636 4/24/2023
1.3.2023.424142 583 4/24/2023
1.3.2023.424139 611 4/24/2023
1.3.2023.423138 611 4/24/2023
1.3.2023.423137 627 4/24/2023
1.3.2023.423136 592 4/24/2023
1.3.2023.423134 624 4/23/2023
1.3.2023.423120 609 4/23/2023
1.3.2023.423119 632 4/22/2023
1.3.2023.421118 627 4/21/2023
1.3.2023.420117 648 4/20/2023
1.3.2023.419116 606 4/19/2023
1.3.2023.419114 643 4/19/2023
1.3.2023.419113 590 4/19/2023
1.3.2023.419112 715 4/19/2023
1.3.2023.419108 359 4/19/2023
1.3.2023.419107 322 4/19/2023
1.3.2023.419106 583 4/19/2023
1.3.2023.419104 587 4/19/2023
1.3.2023.418103 621 4/18/2023
1.3.2023.418102 617 4/18/2023
1.3.2023.417101 628 4/17/2023
1.3.2023.417100 629 4/17/2023
1.3.2023.41599 688 4/15/2023
1.3.2023.41598 666 4/17/2023
1.3.2023.41497 666 4/14/2023
1.3.2023.41496 658 4/14/2023
1.3.2023.41394 607 4/12/2023
1.3.2023.41294 639 4/14/2023
1.3.2023.41293 651 4/12/2023
1.3.2023.41192 638 4/11/2023
1.3.2023.41090 664 4/10/2023
1.3.2023.40888 671 4/8/2023
1.3.2023.40887 651 4/8/2023
1.3.2023.40886 649 4/8/2023
1.3.2023.40785 620 4/7/2023
1.3.2023.40683 641 4/6/2023
1.3.2023.40682 623 4/6/2023
1.3.2023.40681 642 4/6/2023
1.3.2023.40480 651 4/3/2023
1.3.2023.40279 663 4/2/2023
1.3.2023.40178 698 4/1/2023
1.3.2023.40177 684 4/1/2023
1.3.2023.33176 629 3/31/2023
1.3.2023.32774 688 3/27/2023
1.3.2023.32672 673 3/26/2023
1.3.2023.32669 707 3/26/2023
1.3.2023.32668 695 3/26/2023
1.3.2023.32667 674 3/26/2023
1.3.2023.32666 701 3/26/2023
1.3.2023.32665 691 3/26/2023
1.3.2023.32563 726 3/25/2023
1.3.2023.32562 667 3/25/2023
1.3.2023.32561 675 3/25/2023
1.3.2023.32360 700 3/23/2023
1.3.2023.32359 698 3/23/2023
1.3.2023.32358 656 3/23/2023
1.3.2023.32357 678 3/23/2023
1.3.2023.32356 737 3/22/2023
1.3.2023.32355 668 3/22/2023
1.3.2023.32154 689 3/21/2023
1.3.2023.32153 675 3/21/2023
1.3.2023.32152 875 3/21/2023
1.3.2023.32149 670 3/21/2023
1.3.2023.31949 713 3/19/2023
1.3.2023.31740 724 3/17/2023
1.3.2023.31540 713 3/15/2023
1.3.2023.31539 738 3/15/2023
1.3.2023.31437 726 3/14/2023
1.3.2023.31436 709 3/13/2023
1.3.2023.31335 729 3/13/2023
1.3.2023.31334 696 3/12/2023
1.3.2023.31333 677 3/12/2023
1.3.2023.31232 697 3/12/2023
1.3.2023.31231 707 3/12/2023
1.3.2023.31128 701 3/13/2023
1.3.2023.31127 771 3/11/2023
1.3.2023.31121 736 3/11/2023
1.3.2023.31020 729 3/9/2023
1.3.2023.30919 749 3/8/2023
1.3.2023.30818 746 3/8/2023
1.3.2023.30816 732 3/8/2023
1.3.2023.30813 742 3/7/2023
1.3.2023.30712 734 3/6/2023
1.3.2023.30611 765 3/6/2023
1.3.2023.30210 768 3/2/2023
1.3.2023.3029 760 3/2/2023
1.3.2023.3028 765 3/1/2023
1.3.2023.3017 754 3/1/2023
1.3.2023.3016 789 2/28/2023
1.3.2023.2285 750 2/28/2023
1.3.2023.2274 754 2/27/2023
1.3.2023.2253 769 2/25/2023
1.3.2023.2232 752 2/22/2023
1.3.2023.2221 729 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

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