DH.NRedis.Extensions 4.12.2025.630-beta1209

# 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实现,不需要修改业务代码。

No packages depend on DH.NRedis.Extensions.

新增数据保护IDataProtection

.NET Core 3.1

.NET 5.0

.NET 6.0

.NET 7.0

.NET 8.0

.NET 9.0

.NET Standard 2.0

.NET Standard 2.1

Version Downloads Last updated
4.17.2026.115-beta0813 2 2026/1/19
4.17.2026.115-beta0622 1 2026/1/22
4.17.2026.115-beta0621 1 2026/1/22
4.17.2026.115-beta0620 1 2026/1/22
4.17.2026.106-beta1212 2 2026/1/19
4.17.2026.106-beta1210 1 2026/1/22
4.17.2026.106-beta1208 1 2026/1/22
4.17.2026.106-beta1205 1 2026/1/22
4.17.2026.106-beta1202 1 2026/1/20
4.16.2025.1229-beta0932 1 2026/1/22
4.16.2025.1229-beta0926 1 2026/1/22
4.16.2025.1226-beta1054 1 2026/1/22
4.16.2025.1226-beta0400 1 2026/1/22
4.16.2025.1226-beta0358 1 2026/1/22
4.16.2025.1225-beta1128 1 2026/1/22
4.16.2025.1206-beta0335 0 2025/12/6
4.16.2025.1121-beta0114 1 2026/1/22
4.16.2025.1121-beta0113 1 2026/1/22
4.16.2025.1113 1 2026/1/25
4.16.2025.1113-beta0655 1 2026/1/22
4.14.2025.1025-beta0126 1 2026/1/22
4.14.2025.1002-beta0342 1 2026/1/22
4.14.2025.926-beta1325 1 2026/1/22
4.14.2025.926-beta1323 1 2026/1/22
4.14.2025.826-beta0407 1 2026/1/22
4.14.2025.818-beta0742 1 2026/1/22
4.14.2025.818-beta0740 1 2026/1/22
4.14.2025.802 1 2026/1/25
4.14.2025.802-beta0756 1 2026/1/22
4.13.2025.802-beta0754 1 2026/1/22
4.13.2025.725-beta0547 1 2026/1/22
4.13.2025.713-beta1514 1 2026/1/22
4.13.2025.701-beta0850 1 2026/1/22
4.12.2025.630-beta1209 1 2026/1/22
4.12.2025.630-beta1207 1 2026/1/22
4.12.2025.630-beta1206 1 2026/1/22
4.12.2025.630-beta1201 1 2026/1/22
4.12.2025.619-beta1116 1 2026/1/22
4.12.2025.619-beta1103 1 2026/1/22
4.12.2025.619-beta1010 1 2026/1/22
4.12.2025.619-beta1006 1 2026/1/22
4.12.2025.530-beta0630 1 2026/1/22
4.12.2025.514-beta0916 1 2026/1/22
4.12.2025.506 1 2026/1/25
4.12.2025.506-beta1219 1 2026/1/22
4.12.2025.506-beta1216 1 2026/1/22
4.12.2025.506-beta1215 1 2026/1/22
4.12.2025.506-beta1214 1 2026/1/22
4.12.2025.506-beta1212 1 2026/1/22
4.11.2025.506-beta1208 1 2026/1/22
4.11.2025.506-beta1205 1 2026/1/22
4.11.2025.428-beta0235 1 2026/1/22
4.11.2025.423-beta1129 1 2026/1/22
4.11.2025.423-beta1126 1 2026/1/22
4.11.2025.412 1 2026/1/25
4.11.2025.412-beta1008 1 2026/1/22
4.11.2025.412-beta1006 1 2026/1/22
4.11.2025.329-beta0412 1 2026/1/22
4.11.2025.329-beta0409 1 2026/1/22
4.11.2025.329-beta0359 1 2026/1/22
4.11.2025.328-beta1004 1 2026/1/22
4.11.2025.314-beta1134 1 2026/1/22
4.11.2025.311-beta0606 1 2026/1/22
4.11.2025.303 1 2026/1/25
4.11.2025.303-beta0309 1 2026/1/22
4.1.2025.227-beta0815 1 2026/1/22
4.1.2025.227-beta0814 1 2026/1/22
4.1.2025.227-beta0809 1 2026/1/22
4.1.2025.217-beta0712 1 2026/1/22
4.1.2025.210-beta0139 1 2026/1/22
4.1.2025.205-beta0608 1 2026/1/22
4.1.2025.115-beta0812 1 2026/1/22
4.1.2025.114-beta0211 1 2026/1/22
4.1.2025.110-beta0204 1 2026/1/22
4.1.2025.110-beta0203 1 2026/1/22
4.0.2025.110-beta0153 1 2026/1/22
4.0.2025.103 1 2026/1/25
4.0.2025.103-beta0347 1 2026/1/22
4.0.2024.1231-beta0940 1 2026/1/22
4.0.2024.1226-beta0336 1 2026/1/22
4.0.2024.1213-beta1019 1 2026/1/22
4.0.2024.1206-beta0112 1 2026/1/22
4.0.2024.1204-beta0337 1 2026/1/22
4.0.2024.1201-beta0334 1 2026/1/22
4.0.2024.1126-beta0234 1 2026/1/22
4.0.2024.1123-beta0939 1 2026/1/22
4.0.2024.1119-beta0731 1 2026/1/22
4.0.2024.1114-beta0650 1 2026/1/22
4.0.2024.1114-beta0608 1 2026/1/22
3.91.2024.1112-beta0844 1 2026/1/22
3.91.2024.1109-beta0248 1 2026/1/22
3.91.2024.1104-beta0356 1 2026/1/22
3.91.2024.1101-beta0242 1 2026/1/22
3.91.2024.1031 1 2026/1/25
3.91.2024.1031-beta1112 1 2026/1/22
3.91.2024.1031-beta1107 1 2026/1/22
3.91.2024.1031-beta1106 1 2026/1/22
3.91.2024.1021-beta0734 1 2026/1/22
3.91.2024.1021-beta0725 1 2026/1/22
3.91.2024.1015-beta1006 1 2026/1/22
3.91.2024.1015-beta0956 1 2026/1/22
3.91.2024.1013-beta0832 1 2026/1/22
3.91.2024.1012-beta0303 1 2026/1/22
3.91.2024.1010-beta0633 1 2026/1/22
3.91.2024.1008-beta0919 1 2026/1/22
3.91.2024.1008-beta0342 1 2026/1/22
3.91.2024.1008-beta0328 1 2026/1/22
3.91.2024.1008-beta0321 1 2026/1/22
3.91.2024.925-beta0644 1 2026/1/22
3.91.2024.923-beta0226 1 2026/1/22
3.91.2024.922-beta0349 1 2026/1/22
3.9.2024.9210003 1 2026/1/22
3.9.2024.9210002 1 2026/1/22
3.8.2024.922-beta0347 1 2026/1/22
3.8.2024.921-beta0953 1 2026/1/22
3.8.2024.920-beta0130 1 2026/1/22
3.8.2024.919-beta0806 1 2026/1/22
3.8.2024.918-beta1131 1 2026/1/22
3.8.2024.918-beta0923 1 2026/1/22
3.8.2024.918-beta0917 1 2026/1/22
3.8.2024.913-beta0631 1 2026/1/22
3.8.2024.911-beta1434 1 2026/1/22
3.8.2024.907-beta0155 1 2026/1/22
3.8.2024.903-beta0542 1 2026/1/22
3.8.2024.828-beta0703 1 2026/1/22
3.8.2024.828-beta0135 1 2026/1/22
3.8.2024.828-beta0131 1 2026/1/22
3.8.2024.828-beta0130 1 2026/1/22
3.8.2024.828-beta0122 1 2026/1/22
3.8.2024.828-beta0120 1 2026/1/22
3.8.2024.828-beta0111 1 2026/1/22
3.8.2024.828-beta0109 1 2026/1/22
3.7.2024.826-beta0225 1 2026/1/22
3.7.2024.821-beta0308 1 2026/1/22
3.7.2024.820 1 2026/1/25
3.7.2024.820-beta0628 1 2026/1/22
3.7.2024.819-beta1255 1 2026/1/22
3.6.2024.8160165 1 2026/1/22
3.6.2024.8150164 1 2026/1/22
3.6.2024.8140163 1 2026/1/22
3.6.2024.8140162 1 2026/1/22
3.6.2024.8140161 1 2026/1/22
3.6.2024.8130160 1 2026/1/22
3.6.2024.8130159 1 2026/1/22
3.6.2024.8130158 1 2026/1/22
3.6.2024.8130156 1 2026/1/22
3.6.2024.8130155 1 2026/1/22
3.6.2024.8120153 1 2026/1/22
3.6.2024.8120151 1 2026/1/22
3.6.2024.8110150 1 2026/1/22
3.6.2024.8100148 1 2026/1/22
3.6.2024.8100147 1 2026/1/22
3.6.2024.8090146 1 2026/1/22
3.6.2024.8090145 1 2026/1/22
3.6.2024.8080141 1 2026/1/22
3.6.2024.8070140 1 2026/1/22
3.6.2024.8070139 1 2026/1/22
3.6.2024.8070138 1 2026/1/22
3.6.2024.8050137 1 2026/1/22
3.6.2024.8050135 1 2026/1/22
3.6.2024.8040134 1 2026/1/22
3.6.2024.8040133 1 2026/1/22
3.6.2024.8030132 1 2026/1/22
3.6.2024.8020131 1 2026/1/22
3.6.2024.8010128 1 2026/1/22
3.6.2024.7310126 1 2026/1/22
3.6.2024.7300125 1 2026/1/22
3.6.2024.7290124 1 2026/1/22
3.6.2024.7270123 1 2026/1/22
3.6.2024.7260122 1 2026/1/22
3.6.2024.7240120 1 2026/1/22
3.6.2024.7230119 1 2026/1/22
3.6.2024.7220118 1 2026/1/22
3.6.2024.7220114 1 2026/1/22
3.6.2024.7220113 1 2026/1/22
3.6.2024.7190112 1 2026/1/22
3.6.2024.7190111 1 2026/1/22
3.6.2024.7180110 1 2026/1/22
3.6.2024.7170109 1 2026/1/22
3.6.2024.7160108 1 2026/1/22
3.6.2024.7160107 1 2026/1/22
3.6.2024.7150106 1 2026/1/22
3.6.2024.7150105 1 2026/1/22
3.6.2024.7130104 1 2026/1/22
3.6.2024.7130103 1 2026/1/22
3.6.2024.7120102 1 2026/1/22
3.6.2024.7110101 1 2026/1/22
3.6.2024.7100100 1 2026/1/22
3.6.2024.7090099 1 2026/1/22
3.6.2024.7090098 1 2026/1/22
3.6.2024.7090097 1 2026/1/22
3.6.2024.7090096 1 2026/1/22
3.6.2024.7080095 1 2026/1/22
3.6.2024.7080094 1 2026/1/22
3.6.2024.7080091 1 2026/1/22
3.6.2024.7050090 1 2026/1/22
3.6.2024.7040089 1 2026/1/22
3.6.2024.7030088 1 2026/1/22
3.6.2024.7020087 1 2026/1/22
3.6.2024.7020086 1 2026/1/22
3.6.2024.7010085 1 2026/1/22
3.6.2024.7010084 1 2026/1/22
3.6.2024.6290083 1 2026/1/22
3.6.2024.6280082 1 2026/1/22
3.6.2024.6270081 1 2026/1/22
3.6.2024.6260080 1 2026/1/22
3.6.2024.6250079 1 2026/1/22
3.6.2024.6250078 1 2026/1/22
3.6.2024.6250077 1 2026/1/22
3.6.2024.6240076 1 2026/1/22
3.6.2024.6240075 1 2026/1/22
3.6.2024.6200074 1 2026/1/22
3.6.2024.6190073 1 2026/1/22
3.6.2024.6180072 1 2026/1/22
3.6.2024.6170071 1 2026/1/22
3.6.2024.6150070 1 2026/1/22
3.6.2024.6140069 1 2026/1/22
3.6.2024.6130068 1 2026/1/22
3.6.2024.6130067 1 2026/1/22
3.6.2024.6120062 1 2026/1/22
3.6.2024.6120061 1 2026/1/22
3.6.2024.6110060 1 2026/1/22
3.6.2024.6090059 1 2026/1/22
3.6.2024.6060058 1 2026/1/22
3.6.2024.6050057 1 2026/1/22
3.6.2024.6040056 1 2026/1/22
3.6.2024.6030055 1 2026/1/22
3.6.2024.5310054 1 2026/1/22
3.6.2024.5300053 1 2026/1/22
3.6.2024.5290052 1 2026/1/22
3.6.2024.5290051 1 2026/1/22
3.6.2024.5280050 1 2026/1/22
3.6.2024.5270049 1 2026/1/22
3.6.2024.5250048 1 2026/1/22
3.6.2024.5250047 1 2026/1/22
3.6.2024.5240046 1 2026/1/22
3.6.2024.5240045 1 2026/1/22
3.6.2024.5240044 1 2026/1/22
3.6.2024.5240043 1 2026/1/22
3.6.2024.5230039 1 2026/1/22
3.6.2024.5230038 1 2026/1/22
3.6.2024.5230037 1 2026/1/22
3.6.2024.5220036 1 2026/1/22
3.6.2024.5220035 1 2026/1/22
3.6.2024.5220034 1 2026/1/22
3.6.2024.5210033 1 2026/1/22
3.6.2024.5210032 1 2026/1/22
3.6.2024.5200031 1 2026/1/22
3.6.2024.5170030 1 2026/1/22
3.6.2024.5160029 1 2026/1/22
3.6.2024.5160028 1 2026/1/22
3.6.2024.5150027 1 2026/1/22
3.6.2024.5140026 1 2026/1/22
3.6.2024.5130025 1 2026/1/22
3.6.2024.5130024 1 2026/1/22
3.6.2024.5110024 1 2026/1/22
3.6.2024.5110023 1 2026/1/22
3.6.2024.5110022 1 2026/1/22
3.6.2024.5100021 1 2026/1/22
3.6.2024.5100020 1 2026/1/22
3.6.2024.5090019 1 2026/1/22
3.6.2024.5080018 1 2026/1/22
3.6.2024.5080017 1 2026/1/22
3.6.2024.5070016 1 2026/1/22
3.6.2024.5060014 1 2026/1/22
3.6.2024.5060010 1 2026/1/22
3.6.2024.5050009 1 2026/1/22
3.6.2024.4290008 1 2026/1/22
3.6.2024.4280007 1 2026/1/22
3.6.2024.4280006 1 2026/1/22
3.6.2024.4260005 1 2026/1/22
3.6.2024.4260004 1 2026/1/22
3.6.2024.4250003 1 2026/1/22
3.6.2024.4250002 1 2026/1/22
3.6.2024.4240001 1 2026/1/22
3.5.2024.4230239 1 2026/1/22
3.5.2024.4220237 1 2026/1/22
3.5.2024.4210236 1 2026/1/22
3.5.2024.4200235 1 2026/1/22
3.5.2024.4190232 1 2026/1/22
3.5.2024.4180230 1 2026/1/22
3.5.2024.4180229 1 2026/1/22
3.5.2024.4170228 1 2026/1/22
3.5.2024.4170226 1 2026/1/22
3.5.2024.4170225 1 2026/1/22
3.5.2024.4160223 1 2026/1/22
3.5.2024.4150222 1 2026/1/22
3.5.2024.4130221 1 2026/1/22
3.5.2024.4110220 1 2026/1/22
3.5.2024.4110219 1 2026/1/22
3.5.2024.4100218 1 2026/1/22
3.5.2024.4100217 1 2026/1/22
3.5.2024.4100216 1 2026/1/22
3.5.2024.4090215 1 2026/1/22
3.5.2024.4080214 1 2026/1/22
3.5.2024.4070213 1 2026/1/22
3.5.2024.4020210 1 2026/1/22
3.5.2024.4020209 1 2026/1/22
3.5.2024.4010208 1 2026/1/22
3.5.2024.3300207 1 2026/1/22
3.5.2024.3300206 1 2026/1/22
3.5.2024.3300205 1 2026/1/22
3.5.2024.3290204 1 2026/1/22
3.5.2024.3280203 1 2026/1/22
3.5.2024.3270202 1 2026/1/22
3.5.2024.3270201 1 2026/1/22
3.5.2024.3250200 1 2026/1/22
3.5.2024.3220198 1 2026/1/22
3.5.2024.3210197 1 2026/1/22
3.5.2024.3200196 1 2026/1/22
3.5.2024.3190195 1 2026/1/22
3.5.2024.3180194 1 2026/1/22
3.5.2024.3170192 1 2026/1/22
3.5.2024.3160191 1 2026/1/22
3.5.2024.3150190 1 2026/1/22
3.5.2024.3130189 1 2026/1/22
3.5.2024.3110188 1 2026/1/22
3.5.2024.3100187 1 2026/1/22
3.5.2024.3100186 1 2026/1/22
3.5.2024.3100185 1 2026/1/22
3.5.2024.3070184 1 2026/1/22
3.5.2024.3070183 1 2026/1/22
3.5.2024.3070179 1 2026/1/22
3.5.2024.3070178 1 2026/1/22
3.5.2024.3060177 1 2026/1/22
3.5.2024.3050175 1 2026/1/22
3.5.2024.3040174 1 2026/1/22
3.5.2024.3040173 1 2026/1/22
3.5.2024.3020172 1 2026/1/22
3.5.2024.3020171 1 2026/1/22
3.5.2024.3020170 1 2026/1/22
3.5.2024.3020169 1 2026/1/22
3.5.2024.3020168 1 2026/1/22
3.5.2024.3020167 1 2026/1/22
3.5.2024.3020166 1 2026/1/22
3.5.2024.3010165 1 2026/1/22
3.5.2024.2290164 1 2026/1/22
3.5.2024.2290163 1 2026/1/22
3.5.2024.2290161 1 2026/1/22
3.5.2024.2280159 1 2026/1/22
3.5.2024.2270157 1 2026/1/22
3.5.2024.2230155 1 2026/1/22
3.5.2024.2210153 1 2026/1/22
3.5.2024.2190152 1 2026/1/22
3.5.2024.2180150 1 2026/1/22
3.5.2024.2170148 1 2026/1/22
3.5.2024.1280144 1 2026/1/22
3.5.2024.1280143 1 2026/1/22
3.5.2024.1260143 1 2026/1/22
3.5.2024.1260142 1 2026/1/22
3.5.2024.1240139 1 2026/1/22
3.5.2024.1240136 1 2026/1/22
3.5.2024.1240135 1 2026/1/22
3.5.2024.1240132 1 2026/1/22
3.5.2024.1230131 1 2026/1/22
3.5.2024.1230130 1 2026/1/22
3.5.2024.1220129 1 2026/1/22
3.5.2024.1190128 1 2026/1/22
3.5.2024.1180124 1 2026/1/22
3.5.2024.1170123 1 2026/1/22
3.5.2024.1160122 1 2026/1/22
3.5.2024.1160121 1 2026/1/22
3.5.2024.1150119 1 2026/1/22
3.5.2024.1150118 1 2026/1/22
3.5.2024.1150117 1 2026/1/22
3.5.2024.1150116 1 2026/1/22
3.5.2024.1150115 1 2026/1/22
3.5.2024.1150114 1 2026/1/22
3.4.2024.1120104 1 2026/1/20
3.4.2024.1120103 1 2026/1/22
3.4.2024.1120102 1 2026/1/22
3.4.2024.1120100 1 2026/1/22
3.4.2024.1120099 1 2026/1/22
3.4.2024.1120098 1 2026/1/22
3.4.2024.1120096 1 2026/1/22
3.4.2024.1120095 1 2026/1/22
3.4.2024.1110094 1 2026/1/22
3.4.2024.1110093 1 2026/1/20
3.4.2024.1100092 1 2026/1/22
3.4.2024.1090091 1 2026/1/22
3.4.2024.1080090 1 2026/1/22
3.4.2024.1080089 1 2026/1/22
3.4.2024.1060088 1 2026/1/22
3.4.2024.1040086 1 2026/1/22
3.4.2024.1030085 1 2026/1/22
3.4.2024.1030084 1 2026/1/22
3.4.2024.1030083 1 2026/1/22
3.4.2024.1020082 1 2026/1/22
3.4.2024.1020081 1 2026/1/22
3.4.2024.1020080 1 2026/1/22
3.4.2023.12290079 1 2026/1/22
3.4.2023.12280078 1 2026/1/22
3.4.2023.12280077 1 2026/1/22
3.4.2023.12270076 1 2026/1/22
3.4.2023.12270075 1 2026/1/22
3.4.2023.12260068 1 2026/1/22
3.4.2023.12220067 1 2026/1/22
3.4.2023.12200066 1 2026/1/22
3.4.2023.12200065 1 2026/1/22
3.4.2023.12190064 1 2026/1/22
3.4.2023.12180061 1 2026/1/22
3.4.2023.12180060 1 2026/1/22
3.4.2023.12150059 1 2026/1/22
3.4.2023.12140058 1 2026/1/22
3.4.2023.12140054 1 2026/1/22
3.4.2023.12140053 1 2026/1/22
3.4.2023.12130052 1 2026/1/22
3.4.2023.12130051 1 2026/1/22
3.4.2023.12120050 1 2026/1/22
3.4.2023.12120049 1 2026/1/22
3.4.2023.12120046 1 2026/1/22
3.4.2023.12100045 1 2026/1/22
3.4.2023.12080044 1 2026/1/22
3.4.2023.12040041 1 2026/1/22
3.4.2023.12020040 1 2026/1/22
3.4.2023.12010038 1 2026/1/22
3.4.2023.12010037 1 2026/1/22
3.4.2023.11300034 1 2026/1/22
3.4.2023.11280033 1 2026/1/22
3.4.2023.11280032 1 2026/1/22
3.4.2023.11280031 1 2026/1/22
3.4.2023.11260030 1 2026/1/22
3.4.2023.11250029 1 2026/1/22
3.4.2023.11230026 1 2026/1/22
3.4.2023.11230008 1 2026/1/22
3.4.2023.11220007 1 2026/1/22
3.4.2023.11220005 1 2026/1/22
3.4.2023.11170004 1 2026/1/22
3.4.2023.11160003 1 2026/1/22
3.4.2023.11150002 1 2026/1/22
3.4.2023.11150001 1 2026/1/22
3.4.2023.1115-beta0001 1 2026/1/22
3.3.2023.1114-beta0072 1 2026/1/22
3.3.2023.1113-beta0071 1 2026/1/22
3.3.2023.1113-beta0066 1 2026/1/22
3.3.2023.1110-beta0065 1 2026/1/22
3.3.2023.1108-beta0064 1 2026/1/22
3.3.2023.1108-beta0063 1 2026/1/22
3.3.2023.1106-beta0061 1 2026/1/22
3.3.2023.1103-beta0060 1 2026/1/22
3.3.2023.1102-beta0058 1 2026/1/22
3.3.2023.1102-beta0057 1 2026/1/22
3.3.2023.1102-beta0051 1 2026/1/22
3.3.2023.1102-beta0049 1 2026/1/22