1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/izory-ZrAdminNetCore

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
CacheHelper.cs 3.4 КБ
Копировать Редактировать Исходные данные Просмотреть построчно История
不做码农 Отправлено 3 лет назад e7dcdb2
using Microsoft.Extensions.Caching.Memory;
using System;
namespace ZR.Common
{
public class CacheHelper
{
public static MemoryCache Cache { get; set; }
static CacheHelper()
{
Cache = new MemoryCache(new MemoryCacheOptions
{
//SizeLimit = 1024
});
}
/// <summary>
/// 获取缓存
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <returns></returns>
public static T GetCache<T>(string key) where T : class
{
if (key == null)
throw new ArgumentNullException(nameof(key));
//return Cache.Get(key) as T; //或者
return Cache.Get<T>(key);
}
/// <summary>
/// 获取缓存
/// </summary>
/// <param name="CacheKey"></param>
/// <returns></returns>
public static object GetCache(string CacheKey)
{
return Cache.Get<object>(CacheKey);
}
public static object Get(string CacheKey)
{
return Cache.Get(CacheKey);
}
/// <summary>
/// 设置缓存,永久缓存
/// </summary>
/// <param name="CacheKey">key</param>
/// <param name="objObject">值</param>
public static object SetCache(string CacheKey, object objObject)
{
return Cache.Set(CacheKey, objObject);
}
/// <summary>
/// 设置缓存
/// </summary>
/// <param name="CacheKey">key</param>
/// <param name="objObject">值</param>
/// <param name="Timeout">过期时间(分钟)</param>
public static object SetCache(string CacheKey, object objObject, int Timeout)
{
return Cache.Set(CacheKey, objObject, DateTime.Now.AddMinutes(Timeout));
}
/// <summary>
/// 设置缓存(秒)
/// </summary>
/// <param name="CacheKey">key</param>
/// <param name="objObject">值</param>
/// <param name="Timeout">过期时间(秒)</param>
public static void SetCaches(string CacheKey, object objObject, int Timeout)
{
Cache.Set(CacheKey, objObject, DateTime.Now.AddSeconds(Timeout));
}
/// <summary>
/// 设置缓存
/// </summary>
/// <param name="CacheKey">key</param>
/// <param name="objObject">值</param>
/// <param name="absoluteExpiration">过期时间</param>
/// <param name="slidingExpiration">过期时间间隔</param>
public static object SetCache(string CacheKey, object objObject, DateTime absoluteExpiration, TimeSpan slidingExpiration)
{
return Cache.Set(CacheKey, objObject, absoluteExpiration);
}
/// <summary>
/// 设定绝对的过期时间
/// </summary>
/// <param name="CacheKey"></param>
/// <param name="objObject"></param>
/// <param name="Seconds">超过多少秒后过期</param>
public static void SetCacheDateTime(string CacheKey, object objObject, long Seconds)
{
Cache.Set(CacheKey, objObject, DateTime.Now.AddSeconds(Seconds));
}
/// <summary>
/// 删除缓存
/// </summary>
/// <param name="key">key</param>
public static void Remove(string key)
{
Cache.Remove(key);
}
}
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/izory-ZrAdminNetCore.git
git@gitlife.ru:oschina-mirror/izory-ZrAdminNetCore.git
oschina-mirror
izory-ZrAdminNetCore
izory-ZrAdminNetCore
v3.8.0