zoukankan      html  css  js  c++  java
  • MemCacheManager

    #region Fields

    private AreaRepository _areaRepository = new AreaRepository();
    private ICacheManager _cacheManager = new MemCacheManager();

    #endregion

    public List<AreaInfo> GetAreaList(string clientNo)
    {

    //扩展与委托的使用
    return _cacheManager.Get(
    CacheSettings.AreaInfo.Get(clientNo), () =>
    {
    return _areaRepository.GetAreaList(clientNo);
    });
    }

    //////////////////////扩展方法

    public static T Get<T>(this ICacheManager cacheManager, CacheInfo cacheInfo, Func<T> acquire)
    {
    return cacheManager.Get<T>(cacheInfo.Key, cacheInfo.CacheTime, acquire);
    }

    ///////////////////在Extensions.cs扩展

    public static T Get<T>(this ICacheManager cacheManager, CacheInfo cacheInfo, Func<T> acquire)
    {
    return cacheManager.Get<T>(cacheInfo.Key, cacheInfo.CacheTime, acquire);
    }

    ////////////////////cacheExtensions.cs中扩展

    public static T Get<T>(this ICacheManager cacheManager, string key, int cacheTime, Func<T> acquire)
    {
    if (cacheManager.IsSet(key))
    {
    return cacheManager.Get<T>(key);
    }
    else
    {
    var result = acquire();
    if (result != null)
    cacheManager.Set(key, result, cacheTime);
    return result;
    }
    }

    /////////////////////////////////////////

    public T Get<T>(string key)
    {
    if (Memcache.IsEnable)
    {
    try
    {
    return (T)memcached.Get(key);
    }
    catch (Exception ex)
    {
    ErrorLog.Write("MemCacheManager.Get<T>(" + key + ")", "[-9113]缓存服务_获取缓存项目发生异常", ex);
    }
    }

  • 相关阅读:
    while...break 实例
    java ++ -- 异或 短路与 短路或 三目条件
    Java StringBuffer与StringBuider
    输入任意5个整数,输出它们的和。
    java输入年份和月份,输出天数
    进制转换
    luogu 4884 多少个1?
    SDOI2013 随机数生成器
    CQOI2018 破解D-H协议
    模板BSGS(SDOI2011计算器) 模板EXBSGS
  • 原文地址:https://www.cnblogs.com/chengjun/p/4171199.html
Copyright © 2011-2022 走看看