DH.NRedis 4.0.2024.1114-beta0650

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

// Install DH.NRedis as a Cake Tool
#tool nuget:?package=DH.NRedis&version=4.0.2024.1114-beta0650&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.1114-beta0650 17 11/14/2024
4.0.2024.1114-beta0608 18 11/14/2024
3.91.2024.1112-beta0844 71 11/12/2024
3.91.2024.1109-beta0248 99 11/9/2024
3.91.2024.1104-beta0356 149 11/4/2024
3.91.2024.1101-beta0242 89 11/1/2024
3.91.2024.1031 120 10/31/2024
3.91.2024.1031-beta1112 93 10/31/2024
3.91.2024.1031-beta1107 91 10/31/2024
3.91.2024.1031-beta1106 95 10/31/2024
3.91.2024.1021-beta0734 457 10/21/2024
3.91.2024.1021-beta0725 72 10/21/2024
3.91.2024.1015-beta1006 96 10/15/2024
3.91.2024.1015-beta0956 84 10/15/2024
3.91.2024.1013-beta0832 111 10/13/2024
3.91.2024.1012-beta0303 94 10/12/2024
3.91.2024.1010-beta0633 123 10/10/2024
3.91.2024.1008-beta0919 246 10/8/2024
3.91.2024.1008-beta0342 148 10/8/2024
3.91.2024.1008-beta0328 88 10/8/2024
3.91.2024.1008-beta0321 87 10/8/2024
3.91.2024.925-beta0644 140 9/25/2024
3.91.2024.923-beta0226 667 9/23/2024
3.91.2024.922-beta0349 116 9/22/2024
3.9.2024.9210003 180 9/21/2024
3.9.2024.9210002 207 9/21/2024
3.8.2024.922-beta0347 93 9/22/2024
3.8.2024.921-beta0953 93 9/21/2024
3.8.2024.920-beta0130 299 9/20/2024
3.8.2024.919-beta0806 111 9/19/2024
3.8.2024.918-beta1131 283 9/18/2024
3.8.2024.918-beta0917 96 9/18/2024
3.8.2024.918-beta0916 68 9/18/2024
3.8.2024.913-beta0631 130 9/13/2024
3.8.2024.911-beta1434 427 9/11/2024
3.8.2024.907-beta0155 366 9/7/2024
3.8.2024.903-beta0542 219 9/3/2024
3.8.2024.828-beta0703 222 8/28/2024
3.8.2024.828-beta0135 201 8/28/2024
3.8.2024.828-beta0131 99 8/28/2024
3.8.2024.828-beta0130 98 8/28/2024
3.8.2024.828-beta0122 118 8/28/2024
3.8.2024.828-beta0119 77 8/28/2024
3.8.2024.828-beta0111 112 8/28/2024
3.8.2024.828-beta0109 109 8/28/2024
3.7.2024.826-beta0225 229 8/26/2024
3.7.2024.821-beta0308 296 8/21/2024
3.7.2024.820 272 8/20/2024
3.7.2024.820-beta0627 104 8/20/2024
3.7.2024.819-beta1254 150 8/19/2024
3.6.2024.8160165 190 8/16/2024
3.6.2024.8150164 278 8/15/2024
3.6.2024.8140163 229 8/14/2024
3.6.2024.8140162 235 8/14/2024
3.6.2024.8140161 237 8/14/2024
3.6.2024.8130160 229 8/13/2024
3.6.2024.8130159 237 8/13/2024
3.6.2024.8130158 233 8/13/2024
3.6.2024.8130156 248 8/13/2024
3.6.2024.8130155 231 8/13/2024
3.6.2024.8120153 228 8/12/2024
3.6.2024.8120151 224 8/12/2024
3.6.2024.8110150 184 8/11/2024
3.6.2024.8100148 225 8/10/2024
3.6.2024.8100147 221 8/9/2024
3.6.2024.8090146 211 8/9/2024
3.6.2024.8090145 287 8/9/2024
3.6.2024.8080141 194 8/8/2024
3.6.2024.8070140 198 8/7/2024
3.6.2024.8070139 193 8/7/2024
3.6.2024.8070138 216 8/7/2024
3.6.2024.8050137 183 8/5/2024
3.6.2024.8050135 158 8/5/2024
3.6.2024.8040133 159 8/4/2024
3.6.2024.8030132 153 8/3/2024
3.6.2024.8020131 166 8/2/2024
3.6.2024.8010128 196 8/1/2024
3.6.2024.7310126 131 7/31/2024
3.6.2024.7300125 131 7/30/2024
3.6.2024.7290124 152 7/29/2024
3.6.2024.7270123 135 7/27/2024
3.6.2024.7260122 139 7/26/2024
3.6.2024.7240120 177 7/24/2024
3.6.2024.7230119 180 7/23/2024
3.6.2024.7220118 251 7/22/2024
3.6.2024.7220114 204 7/22/2024
3.6.2024.7220113 215 7/22/2024
3.6.2024.7190112 195 7/19/2024
3.6.2024.7190111 223 7/19/2024
3.6.2024.7180110 209 7/18/2024
3.6.2024.7170109 205 7/17/2024
3.6.2024.7160108 210 7/16/2024
3.6.2024.7160107 194 7/16/2024
3.6.2024.7150106 172 7/15/2024
3.6.2024.7150105 230 7/15/2024
3.6.2024.7130104 206 7/13/2024
3.6.2024.7130103 197 7/13/2024
3.6.2024.7120102 195 7/12/2024
3.6.2024.7110101 210 7/11/2024
3.6.2024.7100100 214 7/10/2024
3.6.2024.7090099 195 7/9/2024
3.6.2024.7090098 216 7/9/2024
3.6.2024.7090097 200 7/9/2024
3.6.2024.7090096 216 7/8/2024
3.6.2024.7080095 205 7/8/2024
3.6.2024.7080094 216 7/8/2024
3.6.2024.7080091 203 7/8/2024
3.6.2024.7050090 223 7/5/2024
3.6.2024.7040089 222 7/4/2024
3.6.2024.7030088 217 7/3/2024
3.6.2024.7020087 224 7/2/2024
3.6.2024.7020086 223 7/2/2024
3.6.2024.7010085 238 7/1/2024
3.6.2024.7010084 212 7/1/2024
3.6.2024.6290083 225 6/29/2024
3.6.2024.6280082 212 6/28/2024
3.6.2024.6270081 214 6/27/2024
3.6.2024.6260080 216 6/26/2024
3.6.2024.6250079 210 6/25/2024
3.6.2024.6250078 209 6/25/2024
3.6.2024.6250077 216 6/24/2024
3.6.2024.6240076 210 6/24/2024
3.6.2024.6240075 210 6/24/2024
3.6.2024.6200074 235 6/20/2024
3.6.2024.6190073 238 6/19/2024
3.6.2024.6180072 221 6/18/2024
3.6.2024.6170071 206 6/17/2024
3.6.2024.6150070 234 6/15/2024
3.6.2024.6140069 226 6/14/2024
3.6.2024.6130068 215 6/13/2024
3.6.2024.6130067 221 6/13/2024
3.6.2024.6120062 201 6/12/2024
3.6.2024.6120061 208 6/12/2024
3.6.2024.6110060 208 6/11/2024
3.6.2024.6090059 219 6/9/2024
3.6.2024.6060058 226 6/6/2024
3.6.2024.6050057 225 6/5/2024
3.6.2024.6040056 234 6/4/2024
3.6.2024.6030055 202 6/3/2024
3.6.2024.5310054 215 5/31/2024
3.6.2024.5300053 264 5/30/2024
3.6.2024.5290052 228 5/29/2024
3.6.2024.5290051 212 5/29/2024
3.6.2024.5280050 213 5/28/2024
3.6.2024.5270049 231 5/27/2024
3.6.2024.5250048 228 5/25/2024
3.6.2024.5250047 232 5/25/2024
3.6.2024.5240046 231 5/24/2024
3.6.2024.5240045 233 5/24/2024
3.6.2024.5240044 234 5/24/2024
3.6.2024.5240043 219 5/24/2024
3.6.2024.5230039 229 5/23/2024
3.6.2024.5230038 229 5/23/2024
3.6.2024.5230037 221 5/23/2024
3.6.2024.5220036 228 5/23/2024
3.6.2024.5220035 226 5/22/2024
3.6.2024.5220034 230 5/22/2024
3.6.2024.5210033 239 5/21/2024
3.6.2024.5210032 216 5/21/2024
3.6.2024.5200031 207 5/20/2024
3.6.2024.5170030 254 5/17/2024
3.6.2024.5160029 179 5/16/2024
3.6.2024.5160028 195 5/16/2024
3.6.2024.5150027 218 5/15/2024
3.6.2024.5140026 192 5/14/2024
3.6.2024.5130025 211 5/13/2024
3.6.2024.5130024 221 5/13/2024
3.6.2024.5110024 189 5/11/2024
3.6.2024.5110023 209 5/11/2024
3.6.2024.5110022 242 5/11/2024
3.6.2024.5100021 212 5/10/2024
3.6.2024.5100020 210 5/10/2024
3.6.2024.5090019 238 5/9/2024
3.6.2024.5080018 219 5/8/2024
3.6.2024.5080017 240 5/8/2024
3.6.2024.5070016 232 5/7/2024
3.6.2024.5060014 317 5/6/2024
3.6.2024.5060010 232 5/6/2024
3.6.2024.5050009 225 5/5/2024
3.6.2024.4290008 218 4/29/2024
3.6.2024.4280007 214 4/28/2024
3.6.2024.4280006 207 4/28/2024
3.6.2024.4260005 214 4/26/2024
3.6.2024.4260004 208 4/26/2024
3.6.2024.4250003 229 4/25/2024
3.6.2024.4250002 188 4/25/2024
3.6.2024.4240001 261 4/24/2024
3.5.2024.4230239 240 4/23/2024
3.5.2024.4220237 217 4/22/2024
3.5.2024.4210236 222 4/21/2024
3.5.2024.4200235 226 4/20/2024
3.5.2024.4190232 254 4/19/2024
3.5.2024.4180230 222 4/18/2024
3.5.2024.4180229 207 4/18/2024
3.5.2024.4170228 246 4/17/2024
3.5.2024.4170226 204 4/17/2024
3.5.2024.4170225 222 4/17/2024
3.5.2024.4160223 212 4/16/2024
3.5.2024.4150222 210 4/15/2024
3.5.2024.4130221 202 4/18/2024
3.5.2024.4110220 194 4/12/2024
3.5.2024.4110219 243 4/12/2024
3.5.2024.4100218 206 4/10/2024
3.5.2024.4100217 218 4/10/2024
3.5.2024.4100216 214 4/10/2024
3.5.2024.4090215 209 4/9/2024
3.5.2024.4080214 222 4/8/2024
3.5.2024.4070213 252 4/7/2024
3.5.2024.4020210 223 4/2/2024
3.5.2024.4020209 214 4/2/2024
3.5.2024.4010208 232 4/1/2024
3.5.2024.3300207 225 3/30/2024
3.5.2024.3300206 211 3/30/2024
3.5.2024.3300205 212 3/30/2024
3.5.2024.3290204 196 3/29/2024
3.5.2024.3280203 226 3/28/2024
3.5.2024.3270202 235 3/27/2024
3.5.2024.3270201 288 3/27/2024
3.5.2024.3250200 230 3/25/2024
3.5.2024.3220198 291 3/22/2024
3.5.2024.3210197 242 3/21/2024
3.5.2024.3200196 251 3/20/2024
3.5.2024.3190195 244 3/19/2024
3.5.2024.3180194 264 3/18/2024
3.5.2024.3170192 239 3/17/2024
3.5.2024.3160191 257 3/16/2024
3.5.2024.3150190 232 3/15/2024
3.5.2024.3130189 253 3/13/2024
3.5.2024.3110188 272 3/11/2024
3.5.2024.3100187 261 3/10/2024
3.5.2024.3100186 214 3/10/2024
3.5.2024.3100185 220 3/10/2024
3.5.2024.3070184 237 3/7/2024
3.5.2024.3070183 254 3/7/2024
3.5.2024.3070179 242 3/7/2024
3.5.2024.3070178 260 3/7/2024
3.5.2024.3060177 271 3/6/2024
3.5.2024.3050175 265 3/5/2024
3.5.2024.3040174 258 3/4/2024
3.5.2024.3040173 254 3/4/2024
3.5.2024.3020172 274 3/2/2024
3.5.2024.3020171 232 3/2/2024
3.5.2024.3020170 270 3/4/2024
3.5.2024.3020169 275 3/2/2024
3.5.2024.3020168 247 3/2/2024
3.5.2024.3020167 273 3/2/2024
3.5.2024.3020166 274 3/2/2024
3.5.2024.3010165 248 3/1/2024
3.5.2024.2290164 272 2/29/2024
3.5.2024.2290163 242 2/29/2024
3.5.2024.2290161 266 2/29/2024
3.5.2024.2280159 231 2/28/2024
3.5.2024.2270157 295 2/27/2024
3.5.2024.2230155 282 2/23/2024
3.5.2024.2210153 269 2/21/2024
3.5.2024.2190152 228 2/19/2024
3.5.2024.2180150 277 2/18/2024
3.5.2024.2170148 219 2/18/2024
3.5.2024.1280144 303 1/28/2024
3.5.2024.1280143 251 1/28/2024
3.5.2024.1260143 245 2/18/2024
3.5.2024.1260142 285 1/26/2024
3.5.2024.1240139 274 1/24/2024
3.5.2024.1240136 260 1/24/2024
3.5.2024.1240135 276 1/24/2024
3.5.2024.1240132 281 1/24/2024
3.5.2024.1230131 249 1/23/2024
3.5.2024.1230130 237 1/23/2024
3.5.2024.1220129 289 1/22/2024
3.5.2024.1190128 313 1/19/2024
3.5.2024.1180124 240 1/18/2024
3.5.2024.1170123 278 1/18/2024
3.5.2024.1160122 252 1/16/2024
3.5.2024.1160121 252 1/16/2024
3.5.2024.1150119 269 1/15/2024
3.5.2024.1150118 237 1/15/2024
3.5.2024.1150117 292 1/15/2024
3.5.2024.1150116 259 1/15/2024
3.5.2024.1150115 277 1/15/2024
3.5.2024.1150114 252 1/14/2024
3.4.2024.1120104 285 1/12/2024
3.4.2024.1120103 240 1/12/2024
3.4.2024.1120102 251 1/12/2024
3.4.2024.1120100 285 1/12/2024
3.4.2024.1120099 260 1/12/2024
3.4.2024.1120098 258 1/12/2024
3.4.2024.1120096 272 1/12/2024
3.4.2024.1120095 237 1/11/2024
3.4.2024.1110094 248 1/11/2024
3.4.2024.1110093 320 1/11/2024
3.4.2024.1100092 288 1/10/2024
3.4.2024.1090091 309 1/9/2024
3.4.2024.1080090 283 1/8/2024
3.4.2024.1080089 286 1/8/2024
3.4.2024.1060088 311 1/6/2024
3.4.2024.1040086 311 1/4/2024
3.4.2024.1030085 266 1/3/2024
3.4.2024.1030084 260 1/3/2024
3.4.2024.1030083 297 1/3/2024
3.4.2024.1020082 265 1/2/2024
3.4.2024.1020081 246 1/2/2024
3.4.2024.1020080 312 1/2/2024
3.4.2023.12290079 312 12/29/2023
3.4.2023.12280078 276 12/28/2023
3.4.2023.12280077 285 12/28/2023
3.4.2023.12270076 268 12/27/2023
3.4.2023.12270075 285 12/27/2023
3.4.2023.12260068 302 12/26/2023
3.4.2023.12220067 280 12/22/2023
3.4.2023.12200066 285 12/20/2023
3.4.2023.12200065 266 12/20/2023
3.4.2023.12190064 269 12/19/2023
3.4.2023.12180061 291 12/18/2023
3.4.2023.12180060 304 12/18/2023
3.4.2023.12150059 311 12/15/2023
3.4.2023.12140058 293 12/14/2023
3.4.2023.12140054 318 12/14/2023
3.4.2023.12140053 291 12/14/2023
3.4.2023.12130052 328 12/13/2023
3.4.2023.12130051 301 12/13/2023
3.4.2023.12120050 294 12/12/2023
3.4.2023.12120049 305 12/12/2023
3.4.2023.12120046 322 12/12/2023
3.4.2023.12100045 307 12/10/2023
3.4.2023.12080044 318 12/8/2023
3.4.2023.12040041 313 12/3/2023
3.4.2023.12020040 293 12/2/2023
3.4.2023.12010038 339 12/1/2023
3.4.2023.12010037 299 12/1/2023
3.4.2023.11300034 345 11/30/2023
3.4.2023.11280033 359 11/28/2023
3.4.2023.11280032 358 11/28/2023
3.4.2023.11280031 328 11/28/2023
3.4.2023.11260030 326 11/26/2023
3.4.2023.11250029 387 11/25/2023
3.4.2023.11230026 391 11/23/2023
3.4.2023.11230008 362 11/23/2023
3.4.2023.11220007 341 11/22/2023
3.4.2023.11220005 354 11/22/2023
3.4.2023.11170004 366 11/17/2023
3.4.2023.11160003 340 11/16/2023
3.4.2023.11150002 366 11/15/2023
3.4.2023.11150001 352 11/15/2023
3.4.2023.1115-beta0001 279 11/15/2023
3.3.2023.1114-beta0072 249 11/14/2023
3.3.2023.1113-beta0071 267 11/13/2023
3.3.2023.1113-beta0066 260 11/13/2023
3.3.2023.1110-beta0065 262 11/10/2023
3.3.2023.1108-beta0064 246 11/8/2023
3.3.2023.1108-beta0063 258 11/8/2023
3.3.2023.1106-beta0061 267 11/6/2023
3.3.2023.1103-beta0060 275 11/3/2023
3.3.2023.1102-beta0058 233 11/23/2023
3.3.2023.1102-beta0057 240 11/2/2023
3.3.2023.1102-beta0051 225 11/2/2023
3.3.2023.1102-beta0049 217 11/2/2023
3.3.2023.1101-beta0048 224 11/1/2023
3.3.2023.1101-beta0047 247 11/1/2023
3.3.2023.1031-beta0046 243 10/31/2023
3.3.2023.1031-beta0045 243 10/31/2023
3.3.2023.1030-beta0044 253 10/30/2023
3.3.2023.1027-beta0043 256 10/27/2023
3.3.2023.1027-beta0037 241 10/27/2023
3.3.2023.1026-beta0034 241 10/26/2023
3.3.2023.1025-beta0024 252 10/25/2023
3.3.2023.1020-beta0002 133 10/20/2023
3.3.2023.1019-beta0001 164 10/20/2023
2.3.2023.1019288 167 10/20/2023
2.3.2023.1018288 415 10/18/2023
2.3.2023.1017286 394 10/17/2023
2.3.2023.1017285 401 10/17/2023
2.3.2023.1016277 422 10/16/2023
2.3.2023.1012276 445 10/12/2023
2.3.2023.1011273 440 10/11/2023
2.3.2023.1011269 405 10/11/2023
2.3.2023.1011268 425 10/11/2023
2.3.2023.1011267 422 10/11/2023
2.3.2023.1011266 431 10/11/2023
2.3.2023.1010265 406 10/11/2023
2.3.2023.1010263 420 10/10/2023
2.3.2023.1010262 416 10/10/2023
2.3.2023.1010260 420 10/10/2023
2.3.2023.1010258 420 10/10/2023
2.3.2023.1010256 231 10/10/2023
2.3.2023.1008255 471 10/8/2023
2.3.2023.1004251 414 10/4/2023
2.3.2023.926250 465 9/26/2023
2.3.2023.922249 413 9/22/2023
2.3.2023.922248 403 9/22/2023
2.3.2023.920247 478 9/20/2023
2.3.2023.920246 406 9/20/2023
2.3.2023.919245 417 9/19/2023
2.3.2023.919244 411 9/19/2023
2.3.2023.919242 376 9/19/2023
2.3.2023.918243 382 9/18/2023
2.3.2023.918242 375 9/18/2023
2.3.2023.914241 474 9/14/2023
2.3.2023.913239 410 9/13/2023
2.3.2023.913235 393 9/13/2023
2.3.2023.913234 398 9/13/2023
2.3.2023.913233 411 9/13/2023
2.3.2023.913232 440 9/13/2023
2.3.2023.913231 472 9/13/2023
2.3.2023.912230 448 9/12/2023
2.3.2023.909228 450 9/9/2023
2.3.2023.909227 413 9/9/2023
2.3.2023.909226 420 9/9/2023
2.3.2023.909223 464 9/9/2023
2.3.2023.909222 456 9/9/2023
2.3.2023.909221 452 9/9/2023
2.3.2023.909220 420 9/9/2023
2.3.2023.909218 445 9/9/2023
2.3.2023.907201 456 9/7/2023
2.3.2023.905200 430 9/5/2023
2.3.2023.904197 411 9/4/2023
2.3.2023.828196 438 8/28/2023
2.3.2023.824195 420 8/24/2023
2.3.2023.823194 441 8/23/2023
2.3.2023.821193 463 8/21/2023
2.3.2023.820192 446 8/20/2023
2.3.2023.817191 469 8/17/2023
2.3.2023.817190 469 8/17/2023
2.3.2023.815189 544 8/15/2023
2.3.2023.812188 507 8/12/2023
2.3.2023.811187 472 8/11/2023
2.3.2023.811186 463 8/10/2023
2.3.2023.810185 470 8/10/2023
2.3.2023.810184 456 8/10/2023
2.3.2023.808183 488 8/8/2023
2.3.2023.807182 535 8/7/2023
2.3.2023.806181 543 8/6/2023
2.3.2023.806178 481 8/6/2023
2.3.2023.802166 562 8/2/2023
2.3.2023.801165 463 8/1/2023
2.3.2023.731164 498 7/31/2023
2.3.2023.730163 521 7/30/2023
2.3.2023.729162 438 7/29/2023
2.3.2023.729161 464 7/29/2023
2.3.2023.729160 472 7/29/2023
2.3.2023.729159 460 7/29/2023
2.3.2023.728158 455 7/28/2023
2.3.2023.728157 475 7/28/2023
2.3.2023.727156 450 7/27/2023
2.3.2023.726155 487 7/26/2023
2.3.2023.726154 475 7/26/2023
2.3.2023.726152 461 7/26/2023
2.3.2023.725149 462 7/25/2023
2.3.2023.725148 456 7/25/2023
2.3.2023.721147 534 7/22/2023
2.3.2023.721146 481 7/21/2023
2.3.2023.720140 465 7/20/2023
2.3.2023.717139 570 7/17/2023
2.3.2023.717138 501 7/17/2023
2.3.2023.716138 478 7/16/2023
2.3.2023.715138 526 7/15/2023
2.3.2023.715137 525 7/15/2023
2.3.2023.715136 491 7/15/2023
2.3.2023.713134 486 7/13/2023
2.3.2023.712133 556 7/12/2023
2.3.2023.711132 483 7/11/2023
2.3.2023.711131 491 7/11/2023
2.3.2023.711129 490 7/11/2023
2.3.2023.709131 588 7/9/2023
2.3.2023.708128 488 7/11/2023
2.3.2023.708127 477 7/8/2023
2.3.2023.707121 528 7/7/2023
2.3.2023.707120 527 7/7/2023
2.3.2023.706119 498 7/6/2023
2.3.2023.706118 506 7/6/2023
2.3.2023.705108 531 7/5/2023
2.3.2023.705107 538 7/5/2023
2.3.2023.705104 496 7/5/2023
2.3.2023.704103 508 7/4/2023
2.3.2023.703102 518 7/4/2023
2.3.2023.703101 500 7/4/2023
2.3.2023.703100 516 7/3/2023
2.3.2023.703099 520 7/3/2023
2.3.2023.703098 533 7/3/2023
2.3.2023.630097 512 6/29/2023
2.3.2023.629096 519 6/29/2023
2.3.2023.625095 591 6/25/2023
2.3.2023.621094 507 6/21/2023
2.3.2023.620093 543 6/20/2023
2.3.2023.620092 556 6/20/2023
2.3.2023.619088 542 6/19/2023
2.3.2023.619087 527 6/19/2023
2.3.2023.619086 524 6/19/2023
2.3.2023.619085 503 6/19/2023
2.3.2023.619084 519 6/19/2023
2.3.2023.618083 547 6/19/2023
2.3.2023.617080 529 6/17/2023
2.3.2023.616079 573 6/16/2023
2.3.2023.615078 547 6/15/2023
2.3.2023.614075 621 6/14/2023
2.3.2023.612074 682 6/12/2023
2.3.2023.612073 542 6/12/2023
2.3.2023.612072 554 6/11/2023
2.3.2023.610071 626 6/10/2023
2.3.2023.610070 582 6/10/2023
2.3.2023.608070 608 6/8/2023
2.3.2023.605067 591 6/5/2023
2.3.2023.602066 565 6/2/2023
2.3.2023.602065 559 6/2/2023
2.3.2023.601063 576 6/1/2023
2.3.2023.601062 585 5/31/2023
2.3.2023.531061 552 5/31/2023
2.3.2023.530060 580 5/30/2023
2.3.2023.530049 596 5/29/2023
2.3.2023.529048 653 5/29/2023
2.3.2023.529047 609 5/29/2023
2.3.2023.529046 618 5/28/2023
2.3.2023.528045 626 5/28/2023
2.3.2023.528044 611 5/28/2023
2.3.2023.528043 557 5/28/2023
2.3.2023.525040 572 5/25/2023
2.3.2023.525039 598 5/25/2023
2.3.2023.524038 593 5/24/2023
2.3.2023.524037 578 5/23/2023
2.3.2023.520036 550 5/20/2023
2.3.2023.520035 510 5/20/2023
2.3.2023.520032 486 5/23/2023
2.3.2023.519031 503 5/19/2023
2.3.2023.515030 577 5/15/2023
2.3.2023.512029 560 5/12/2023
2.3.2023.512027 495 5/12/2023
2.3.2023.511025 540 5/11/2023
2.3.2023.510022 506 5/10/2023
2.3.2023.510016 528 5/9/2023
2.3.2023.507015 602 5/7/2023
2.3.2023.507014 563 5/7/2023
2.3.2023.505013 545 5/5/2023
2.3.2023.505012 592 5/5/2023
2.3.2023.502011 635 5/2/2023
2.3.2023.502010 605 5/2/2023
2.3.2023.502009 617 5/2/2023
2.3.2023.502008 558 5/2/2023
2.3.2023.501007 674 5/1/2023
2.3.2023.501006 644 5/1/2023
2.3.2023.501005 544 5/1/2023
2.3.2023.501004 624 5/1/2023
2.3.2023.428002 548 5/5/2023
2.3.2023.427001 578 4/27/2023
2.2.2023.222-beta00001 366 2/25/2023
1.3.2023.427180 617 4/27/2023
1.3.2023.427179 645 4/27/2023
1.3.2023.427176 677 4/27/2023
1.3.2023.427171 603 4/27/2023
1.3.2023.427170 658 4/27/2023
1.3.2023.427159 593 4/26/2023
1.3.2023.426158 685 4/26/2023
1.3.2023.425154 714 4/25/2023
1.3.2023.425153 600 4/25/2023
1.3.2023.425149 547 4/25/2023
1.3.2023.425148 548 4/25/2023
1.3.2023.425146 591 4/25/2023
1.3.2023.425144 564 4/24/2023
1.3.2023.424143 633 4/24/2023
1.3.2023.424142 580 4/24/2023
1.3.2023.424139 608 4/24/2023
1.3.2023.423138 608 4/24/2023
1.3.2023.423137 624 4/24/2023
1.3.2023.423136 589 4/24/2023
1.3.2023.423134 621 4/23/2023
1.3.2023.423120 606 4/23/2023
1.3.2023.423119 629 4/22/2023
1.3.2023.421118 624 4/21/2023
1.3.2023.420117 645 4/20/2023
1.3.2023.419116 603 4/19/2023
1.3.2023.419114 640 4/19/2023
1.3.2023.419113 587 4/19/2023
1.3.2023.419112 712 4/19/2023
1.3.2023.419108 356 4/19/2023
1.3.2023.419107 319 4/19/2023
1.3.2023.419106 580 4/19/2023
1.3.2023.419104 584 4/19/2023
1.3.2023.418103 618 4/18/2023
1.3.2023.418102 614 4/18/2023
1.3.2023.417101 625 4/17/2023
1.3.2023.417100 626 4/17/2023
1.3.2023.41599 685 4/15/2023
1.3.2023.41598 663 4/17/2023
1.3.2023.41497 663 4/14/2023
1.3.2023.41496 655 4/14/2023
1.3.2023.41394 604 4/12/2023
1.3.2023.41294 636 4/14/2023
1.3.2023.41293 648 4/12/2023
1.3.2023.41192 635 4/11/2023
1.3.2023.41090 661 4/10/2023
1.3.2023.40888 668 4/8/2023
1.3.2023.40887 648 4/8/2023
1.3.2023.40886 646 4/8/2023
1.3.2023.40785 617 4/7/2023
1.3.2023.40683 638 4/6/2023
1.3.2023.40682 620 4/6/2023
1.3.2023.40681 639 4/6/2023
1.3.2023.40480 648 4/3/2023
1.3.2023.40279 660 4/2/2023
1.3.2023.40178 695 4/1/2023
1.3.2023.40177 681 4/1/2023
1.3.2023.33176 626 3/31/2023
1.3.2023.32774 685 3/27/2023
1.3.2023.32672 670 3/26/2023
1.3.2023.32669 704 3/26/2023
1.3.2023.32668 692 3/26/2023
1.3.2023.32667 671 3/26/2023
1.3.2023.32666 698 3/26/2023
1.3.2023.32665 688 3/26/2023
1.3.2023.32563 723 3/25/2023
1.3.2023.32562 664 3/25/2023
1.3.2023.32561 672 3/25/2023
1.3.2023.32360 697 3/23/2023
1.3.2023.32359 695 3/23/2023
1.3.2023.32358 653 3/23/2023
1.3.2023.32357 675 3/23/2023
1.3.2023.32356 734 3/22/2023
1.3.2023.32355 665 3/22/2023
1.3.2023.32154 686 3/21/2023
1.3.2023.32153 672 3/21/2023
1.3.2023.32152 872 3/21/2023
1.3.2023.32149 667 3/21/2023
1.3.2023.31949 710 3/19/2023
1.3.2023.31740 721 3/17/2023
1.3.2023.31540 710 3/15/2023
1.3.2023.31539 735 3/15/2023
1.3.2023.31437 723 3/14/2023
1.3.2023.31436 706 3/13/2023
1.3.2023.31335 726 3/13/2023
1.3.2023.31334 693 3/12/2023
1.3.2023.31333 674 3/12/2023
1.3.2023.31232 694 3/12/2023
1.3.2023.31231 704 3/12/2023
1.3.2023.31128 698 3/13/2023
1.3.2023.31127 768 3/11/2023
1.3.2023.31121 733 3/11/2023
1.3.2023.31020 726 3/9/2023
1.3.2023.30919 746 3/8/2023
1.3.2023.30818 743 3/8/2023
1.3.2023.30816 729 3/8/2023
1.3.2023.30813 739 3/7/2023
1.3.2023.30712 731 3/6/2023
1.3.2023.30611 762 3/6/2023
1.3.2023.30210 765 3/2/2023
1.3.2023.3029 757 3/2/2023
1.3.2023.3028 762 3/1/2023
1.3.2023.3017 751 3/1/2023
1.3.2023.3016 786 2/28/2023
1.3.2023.2285 747 2/28/2023
1.3.2023.2274 751 2/27/2023
1.3.2023.2253 766 2/25/2023
1.3.2023.2232 749 2/22/2023
1.3.2023.2221 726 2/22/2023
1.2.2023.219-beta00036 439 2/19/2023
1.2.2023.217-beta00035 437 2/17/2023
1.2.2023.215-beta00034 433 2/15/2023
1.2.2023.214-beta00033 435 2/14/2023
1.2.2023.213-beta00032 436 2/13/2023
1.2.2023.213-beta00031 456 2/13/2023
1.2.2023.212-beta00031 439 2/12/2023
1.2.2023.211-beta00029 451 2/11/2023
1.2.2023.211-beta00028 424 2/11/2023
1.2.2023.211-beta00027 450 2/11/2023
1.2.2023.210-beta00026 432 2/10/2023
1.2.2023.209-beta00025 432 2/9/2023
1.2.2023.208-beta00024 459 2/8/2023
1.2.2023.208-beta00023 195 2/8/2023
1.2.2023.207-beta00023 420 2/7/2023
1.2.2023.206-beta00021 440 2/6/2023
1.2.2023.206-beta00020 607 2/6/2023
1.2.2023.204-beta00019 481 2/4/2023
1.2.2023.202-beta00018 428 2/2/2023
1.2.2023.130-beta00016 458 1/30/2023
1.2.2023.129-beta00015 445 1/29/2023
1.2.2023.128-beta00014 436 1/28/2023
1.2.2023.120-beta00012 434 1/20/2023
1.2.2023.120-beta00011 451 1/20/2023
1.2.2023.112-beta00010 453 1/12/2023
1.2.2023.111-beta00009 455 1/11/2023
1.2.2023.110-beta00008 435 1/9/2023
1.2.2023.108-beta00007 444 1/8/2023
1.2.2023.105-beta00006 424 1/5/2023
1.2.2023.103-beta00005 454 1/3/2023
1.2.2023.103-beta00004 449 1/3/2023
1.2.2023.101-beta00001 436 1/1/2023
1.1.2022.1229-beta00043 431 12/29/2022
1.1.2022.1228-beta00041 434 12/28/2022
1.1.2022.1227-beta00036 426 12/28/2022
1.1.2022.1226-beta00035 438 12/26/2022
1.1.2022.1225-beta00035 203 12/26/2022
1.1.2022.1225-beta00034 445 12/25/2022
1.1.2022.1221-beta00032 439 12/21/2022
1.1.2022.1221-beta00031 459 12/21/2022
1.1.2022.1220-beta00030 465 12/20/2022
1.1.2022.1220-beta00027 435 12/20/2022
1.1.2022.1220-beta00026 450 12/20/2022
1.1.2022.1220-beta00025 434 12/20/2022
1.1.2022.1220-beta00024 585 12/20/2022
1.1.2022.1219-beta00022 447 12/19/2022
1.1.2022.1219-beta00021 447 12/19/2022
1.1.2022.1219-beta00020 423 12/19/2022
1.1.2022.1219-beta00019 445 12/19/2022
1.1.2022.1219-beta00018 414 12/19/2022
1.1.2022.1214-beta00016 419 12/14/2022
1.1.2022.1212-beta00015 445 12/12/2022
1.1.2022.1210-beta00015 438 12/12/2022
1.1.2022.1210-beta00014 243 12/10/2022
1.1.2022.1210-beta00013 223 12/10/2022
1.1.2022.1208-beta00012 221 12/8/2022
1.1.2022.1207-beta00011 230 12/7/2022
1.1.2022.1203-beta00010 248 12/3/2022
1.1.2022.1201-beta00009 242 11/30/2022
1.1.2022.1129-beta00008 231 11/29/2022
1.1.2022.1127-beta00007 236 11/29/2022
1.1.2022.1126-beta00007 222 11/26/2022
1.1.2022.1126-beta00006 244 11/26/2022
1.1.2022.1126-beta00005 224 11/26/2022
1.1.2022.1125-beta00004 235 11/26/2022
1.1.2022.1120-beta00003 241 11/20/2022
1.1.2022.1112-beta00002 252 11/20/2022
1.1.2022.1110-beta00001 239 11/10/2022
1.0.2022.1109-beta00012 242 11/8/2022
1.0.2022.1107-beta00011 188 11/6/2022
1.0.2022.1104-beta00008 198 11/4/2022
1.0.2022.1103-beta00007 174 11/3/2022
1.0.2022.1101-beta00006 184 11/1/2022
1.0.2022.1031-beta00004 185 10/31/2022

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