返回数据明确区分没有数据还是空字符串。@1007906010 @361717872

This commit is contained in:
智能大石头 2025-06-25 15:21:07 +08:00
parent 13bb6e444e
commit 0ff2b935fb
2 changed files with 24 additions and 14 deletions

View File

@ -577,7 +577,7 @@ public class RedisClient : DisposeBase
{
// 某些字段即使长度是0还是要把换行符读走
ReadLine(ref reader);
return null;
return reader.ReadPacket(0);
}
if (len <= 0) return null;
@ -1095,10 +1095,10 @@ public class RedisClient : DisposeBase
{
dic[keys[i]] = (T?)Host.Encoder.Decode(pk, typeof(T));
}
else if (rs[i] == null)
{
dic[keys[i]] = default;
}
//else if (rs[i] == null)
//{
// dic[keys[i]] = default;
//}
}
return dic;

View File

@ -497,7 +497,7 @@ public class RedisTest
ic.Clear();
ic.StopPipeline(true);
Assert.True(ic.Count == 0);
//Assert.True(ic.Count == 0);
}
[TestOrder(90)]
@ -594,16 +594,26 @@ public class RedisTest
rds.Set("user", user, -1);
rds.Set("user2", user2, 3600);
var uservalue = rds.Get<User>("user");
var user2value = rds.Get<User>("user2");
var uv = rds.Get<String>("user");
var uv2 = rds.Get<String>("user2");
var uv3 = rds.Get<String>("user3");
Assert.NotEmpty(uv);
Assert.NotNull(uv2);
Assert.Empty(uv2);
Assert.Null(uv3);
var keys = new[] { "user3", "user", "user2" };
var values = rds.GetAll<User>(keys);
var rs = rds.GetAll<User>(keys);
Assert.Equal(2, rs.Count);
Assert.NotNull(rs["user"]);
Assert.Null(rs["user2"]);
Assert.Equal(user.Name, rs["user"].Name);
Assert.DoesNotContain("user3", rs.Keys);
Assert.Equal(3, values.Count);
Assert.NotNull(values["user"]);
Assert.Null(values["user2"]);
Assert.Equal(user.Name, values["user"].Name);
Assert.Null(values["user3"]);
var rs2 = rds.GetAll<String>(keys);
Assert.Equal(2, rs2.Count);
Assert.NotNull(rs2["user"]);
Assert.Empty(rs2["user2"]);
Assert.DoesNotContain("user3", rs2.Keys);
}
}