public override void Set(string key, object value, TimeSpan?slidingExpireTime = null, TimeSpan?absoluteExpireTime = null) { if (value == null) { throw new Exception("Can not insert null values to the cache!"); } byte[] bytes = _serializer.Serialize(value); _database.StringSet(key, bytes, absoluteExpireTime ?? slidingExpireTime ?? DefaultAbsoluteExpireTime ?? DefaultSlidingExpireTime); }
/// <summary> /// Set the specified cacheKey, cacheValue and expiration. /// </summary> /// <returns>The set.</returns> /// <param name="cacheKey">Cache key.</param> /// <param name="cacheValue">Cache value.</param> /// <param name="expiration">Expiration.</param> /// <typeparam name="T">The 1st type parameter.</typeparam> protected override void BaseSet <T>(string cacheKey, T cacheValue, TimeSpan expiration) { ArgumentCheck.NotNullOrWhiteSpace(cacheKey, nameof(cacheKey)); ArgumentCheck.NotNull(cacheValue, nameof(cacheValue)); ArgumentCheck.NotNegativeOrZero(expiration, nameof(expiration)); if (_cacheOptions.MaxRdSecond > 0) { var addSec = new Random().Next(1, _cacheOptions.MaxRdSecond); expiration = expiration.Add(TimeSpan.FromSeconds(addSec)); } _redisDb.StringSet( cacheKey, _serializer.Serialize(cacheValue), expiration); }
public async Task SetAsync <T>(string key, T obj, TimeSpan duration, CancellationToken cancellationToken = default) { await _cache.SetAsync(key, _serializer.Serialize(obj), new DistributedCacheEntryOptions { AbsoluteExpiration = DateTimeOffset.Now.Add(duration) }, cancellationToken); }
public void Set <T>(string key, T value, TimeSpan expiration) { _cache.StringSet(key, _serializer.Serialize(key), expiration); }