/// <summary> /// 设置键值。 /// </summary> /// <param name="client">Redis 客户端。</param> /// <param name="key">键名。</param> /// <param name="value">键值。</param> /// <param name="expiration">生存时间。</param> /// <param name="timeUnit">定位生存时间的单位。</param> /// <param name="behavior">定位键的行为。</param> /// <returns>设置成功返回 true,否则返回 false。</returns> public static bool Set(this IRedisClient client, string key, BinaryValue value , long?expiration = null , RedisExpireTimeUnit timeUnit = RedisExpireTimeUnit.EX , RedisKeyBehavior behavior = RedisKeyBehavior.None) { if (client == null) { throw new ArgumentNullException("client"); } if (string.IsNullOrEmpty(key)) { throw new ArgumentNullException("key"); } List <object> args = new List <object>(5); args.Add(key); args.Add(value); if (expiration.HasValue && expiration.Value > 0) { args.Add(timeUnit == RedisExpireTimeUnit.EX ? "EX" : "PX"); args.Add(expiration.Value); } if (behavior != RedisKeyBehavior.None) { args.Add(behavior == RedisKeyBehavior.NX ? "NX" : "XX"); } return(client.Execute(new RedisStatus.MultiBulk("SET", args.ToArray()))); }
/// <summary> /// 设置键值。 /// </summary> /// <param name="client">Redis 客户端。</param> /// <param name="key">键名。</param> /// <param name="value">键值。</param> /// <param name="expiration">生存时间。</param> /// <param name="timeUnit">定位生存时间的单位。</param> /// <param name="behavior">定位键的行为。</param> /// <returns>设置成功返回 true,否则返回 false。</returns> public static bool Set(this IRedisClient client, string key, BinaryValue value , TimeSpan?expiration = null , RedisExpireTimeUnit timeUnit = RedisExpireTimeUnit.EX , RedisKeyBehavior behavior = RedisKeyBehavior.None) { long?expiration_64 = null; if (expiration.HasValue) { expiration_64 = expiration.Value.GetExpiration(timeUnit); } return(Set(client, key, value, expiration_64, timeUnit, behavior)); }
/// <summary> /// 设置键值。 /// </summary> /// <param name="client">Redis 客户端。</param> /// <param name="key">键名。</param> /// <param name="value">键值。</param> /// <param name="expiration">生存时间。</param> /// <param name="timeUnit">定位生存时间的单位。</param> /// <param name="behavior">定位键的行为。</param> /// <returns>设置成功返回 true,否则返回 false。</returns> public static bool Set(this IRedisClient client, string key, BinaryValue value , long? expiration = null , RedisExpireTimeUnit timeUnit = RedisExpireTimeUnit.EX , RedisKeyBehavior behavior = RedisKeyBehavior.None) { if(client == null) throw new ArgumentNullException(nameof(client)); if(string.IsNullOrWhiteSpace(key)) throw new ArgumentNullException(nameof(key)); List<object> args = new List<object>(5); args.Add(key); args.Add(value); if(expiration.HasValue && expiration.Value > 0) { args.Add(timeUnit == RedisExpireTimeUnit.EX ? "EX" : "PX"); args.Add(expiration.Value); } if(behavior != RedisKeyBehavior.None) args.Add(behavior == RedisKeyBehavior.NX ? "NX" : "XX"); return client.Execute(new RedisStatus.MultiBulk("SET", args.ToArray())); }
/// <summary> /// 设置键值。 /// </summary> /// <param name="client">Redis 客户端。</param> /// <param name="key">键名。</param> /// <param name="value">键值。</param> /// <param name="expiration">生存时间。</param> /// <param name="timeUnit">定位生存时间的单位。</param> /// <param name="behavior">定位键的行为。</param> /// <returns>设置成功返回 true,否则返回 false。</returns> public static bool Set(this IRedisClient client, string key, BinaryValue value , TimeSpan? expiration = null , RedisExpireTimeUnit timeUnit = RedisExpireTimeUnit.EX , RedisKeyBehavior behavior = RedisKeyBehavior.None) { long? expiration_64 = null; if(expiration.HasValue) expiration_64 = expiration.Value.GetExpiration(timeUnit); return Set(client, key, value, expiration_64, timeUnit, behavior); }