Beispiel #1
0
 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);
 }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
 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);
 }
Beispiel #4
0
 public void Set <T>(string key, T value, TimeSpan expiration)
 {
     _cache.StringSet(key, _serializer.Serialize(key), expiration);
 }