43 lines
1.3 KiB
C#
Raw Normal View History

2025-06-04 09:42:48 +08:00
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<T>
{
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;
}
/// <summary>
/// 绝对过期,到达预设时间就过期
/// </summary>
public DateTimeOffset? AbsoluteExpiration { get; set; }
/// <summary>
/// 相对当前时间绝对过期
/// </summary>
public DateTimeOffset? AbsoluteExpirationRelativeToNow { get; set; }
/// <summary>
/// 滑动过期
/// </summary>
public int? SlidingExpiration { get; set; }
public T? Value { get; set; }
}
}