...

Хелпер для работы с кешем ELMA

Тема в разделе "Разработчикам", создана пользователем ahkyamov, 23 авг 2022.

  1. ahkyamov

    ahkyamov Member

    /// <summary>
    /// Хелпер для работы с кешем ELMA
    /// </summary>
    internal static class CacheHelper
    {
    private static ICacheService _cache;
    private static ICacheService Cache
    {
    get { return _cache ?? (_cache = Locator.GetServiceNotNull<ICacheService>()); }
    }

    /// <summary>
    /// Получить элемент из кеша
    /// </summary>
    /// <typeparam name="T">Тип данных</typeparam>
    /// <param name="key">Ключ</param>
    /// <returns>Элемент из кеша</returns>
    internal static T Get<T>(string key)
    {
    T val;
    Cache.TryGetValue(key, out val);
    return val;
    }

    /// <summary>
    /// Добавить элемент в кеш системы
    /// </summary>
    /// <typeparam name="T">Тип данных</typeparam>
    /// <param name="key">Ключ</param>
    /// <param name="value">Значение</param>
    internal static void Add<T>(string key, T value)
    {
    if (Cache.Contains(key))
    {
    Cache.Remove(key);
    }
    Cache.Insert(key, value, new TimeSpan(14, 0, 0, 0));
    }

    /// <summary>
    /// Удалитиь элемент из кеша
    /// </summary>
    /// <param name="key">Ключ</param>
    internal static void Remove(string key)
    {
    Cache.Remove(key);
    }
    }
     
  2. ahkyamov

    ahkyamov Member

    в системе такого нет, это пример, как можно реализовать у себя в модуле
     

Поделиться: