using Microsoft.Extensions.Caching.Distributed; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Syc.Abp.Caching.Redis { public class CacheItem { public CacheItem() { } public CacheItem(T value, DistributedCacheEntryOptions options) { Value = value; AbsoluteExpiration = options.AbsoluteExpiration; AbsoluteExpirationRelativeToNow = options.AbsoluteExpirationRelativeToNow.HasValue ? new DateTimeOffset(DateTimeOffset.Now.Ticks + options.AbsoluteExpirationRelativeToNow.Value.Ticks, TimeSpan.Zero) : null; SlidingExpiration = options.SlidingExpiration.HasValue ? (int)options.SlidingExpiration.Value.TotalSeconds : null; } /// /// 绝对过期,到达预设时间就过期 /// public DateTimeOffset? AbsoluteExpiration { get; set; } /// /// 相对当前时间绝对过期 /// public DateTimeOffset? AbsoluteExpirationRelativeToNow { get; set; } /// /// 滑动过期 /// public int? SlidingExpiration { get; set; } public T? Value { get; set; } } }