diff --git a/NewLife.Redis.Extensions/RedisCache.cs b/NewLife.Redis.Extensions/RedisCache.cs
index 6d19a05..df80968 100644
--- a/NewLife.Redis.Extensions/RedisCache.cs
+++ b/NewLife.Redis.Extensions/RedisCache.cs
@@ -60,7 +60,7 @@ public void Set(String key, Byte[] value, DistributedCacheEntryOptions options)
base.Set(key, value);
else
if (options.AbsoluteExpiration != null)
- base.Set(key, value, options.AbsoluteExpiration.Value - DateTime.Now);
+ base.Set(key, value, options.AbsoluteExpiration.Value - DateTime.Now);
else if (options.AbsoluteExpirationRelativeToNow != null)
base.Set(key, value, options.AbsoluteExpirationRelativeToNow.Value);
else if (options.SlidingExpiration != null)
@@ -99,7 +99,7 @@ public void Set(String key, Byte[] value, DistributedCacheEntryOptions options)
/// 删除
///
///
- public void Remove(String key) => base.Remove(key);
+ public new void Remove(String key) => base.Remove(key);
///
/// 异步删除
diff --git a/NewLife.Redis/Clusters/RedisCluster.cs b/NewLife.Redis/Clusters/RedisCluster.cs
index 1f1fe1e..bb9f0b5 100644
--- a/NewLife.Redis/Clusters/RedisCluster.cs
+++ b/NewLife.Redis/Clusters/RedisCluster.cs
@@ -12,7 +12,7 @@ public class RedisCluster : RedisBase, IRedisCluster, IDisposable
IList IRedisCluster.Nodes => Nodes.Select(x => (IRedisNode)x).ToList();
/// 节点改变事件
- public event EventHandler NodeChanged;
+ public event EventHandler? NodeChanged;
/// 集群节点
public ClusterNode[]? Nodes { get; private set; }
diff --git a/NewLife.Redis/RedisClient.cs b/NewLife.Redis/RedisClient.cs
index a04ca00..7339608 100644
--- a/NewLife.Redis/RedisClient.cs
+++ b/NewLife.Redis/RedisClient.cs
@@ -157,7 +157,7 @@ private Boolean OnCertificateValidationCallback(Object sender, X509Certificate c
///
///
///
- protected virtual Int32 GetRequest(Memory memory, String cmd, Object[]? args)
+ protected virtual Int32 GetRequest(Memory memory, String cmd, Object?[]? args)
{
// *\r\n$\r\n\r\n
// *1\r\n$4\r\nINFO\r\n
@@ -200,12 +200,16 @@ protected virtual Int32 GetRequest(Memory memory, String cmd, Object[]? ar
size = pk.Total;
else
{
- pk = Host.Encoder.Encode(args[i]);
- size = pk.Length;
+ var arg = args[i];
+ if (arg != null)
+ {
+ pk = Host.Encoder.Encode(arg);
+ size = pk.Length;
+ }
}
// 指令日志。简单类型显示原始值,复杂类型显示序列化后字符串
- if (log != null && args != null)
+ if (log != null)
{
log.Append(' ');
if (str != null)
@@ -228,7 +232,7 @@ protected virtual Int32 GetRequest(Memory memory, String cmd, Object[]? ar
writer.Write(str, -1);
else if (buf != null)
writer.Write(buf);
- else
+ else if (pk != null)
writer.Write(pk.GetSpan());
writer.Write(_NewLine);
@@ -325,7 +329,7 @@ protected virtual Int32 GetRequest(Memory memory, String cmd, Object[]? ar
/// 参数数组
/// 取消通知
///
- protected virtual async Task