/// <summary> /// <inheritdoc cref="BoundedMemoryCacheEntry{TKey, TValue}"/> /// </summary> /// <param name="key">缓存Key</param> /// <param name="value">缓存值</param> /// <param name="entryRemovingCallback">移除缓存项时的回调</param> public BoundedMemoryCacheEntry(TKey key, TValue value, CacheEntryRemovingCallback <TKey, TValue>?entryRemovingCallback) { Key = key; Value = value ?? throw new ArgumentNullException(nameof(value)); EntryRemovingCallback = entryRemovingCallback; }
/// <summary> /// 添加缓存项 /// </summary> /// <typeparam name="TKey"></typeparam> /// <typeparam name="TValue"></typeparam> /// <param name="memoryCache"></param> /// <param name="key"></param> /// <param name="value"></param> /// <param name="entryRemovingCallback"></param> public static void Add <TKey, TValue>(this IBoundedMemoryCache <TKey, TValue> memoryCache, TKey key, TValue value, CacheEntryRemovingCallback <TKey, TValue> entryRemovingCallback) where TValue : class { memoryCache.Add(new(key, value, entryRemovingCallback)); }