/// <summary> /// 内存段缓存存根,提供了相关的基本操作 /// </summary> /// <param name="indexer">缓存索引器</param> /// <param name="expireTime">过期时间</param> /// <exception cref="ArgumentNullException">参数不能为空</exception> public SegmentCacheStub(ICacheIndexer indexer, DateTime expireTime) { if (indexer == null) { throw new ArgumentNullException(nameof(indexer)); } _indexer = indexer; _lease = new CacheLease(expireTime); _innerItem = new SegmentCacheItem(indexer); Fixed = true; }
/// <summary> /// 缓存存根,提供了相关的基本操作 /// </summary> /// <param name="expireTime">过期时间</param> /// <typeparam name="T">缓存类型</typeparam> public CacheStub(DateTime expireTime) { Lease = new CacheLease(expireTime); }
/// <summary> /// 非托管缓存存根,提供了相关的基本操作 /// </summary> /// <param name="maxSize">最大容量</param> /// <param name="expireTime">过期时间</param> public UnmanagedCacheStub(int maxSize, DateTime expireTime) { Fixed = false; _innerCache = new UnmanagedCacheItem(maxSize); _lease = new CacheLease(expireTime); }
/// <summary> /// 非托管缓存存根,提供了相关的基本操作 /// </summary> /// <param name="ptr">内存句柄</param> /// <param name="maxSize">最大容量</param> /// <param name="useageSize">已使用大小</param> /// <param name="expireTime">过期时间</param> public UnmanagedCacheStub(IntPtr ptr, int maxSize, int useageSize, DateTime expireTime) { Fixed = false; _innerCache = new UnmanagedCacheItem(ptr, maxSize, useageSize); _lease = new CacheLease(expireTime); }
/// <summary> /// 弱缓存存根,提供了相关的基本操作 /// </summary> /// <param name="expireTime">过期时间</param> /// <typeparam name="T">缓存类型</typeparam> public WeakCacheStub(DateTime expireTime) { _lease = new CacheLease(expireTime); }