zoukankan      html  css  js  c++  java
  • 用匿名函数来更方便的使用缓存

    一个数据缓存,一般由数据来源,缓存方案,缓存读取来完成,现在有了匿名函数,可以把获取数据来源变为匿名函数。这样就可以直接声明一个缓存:

    protected static CacheManager<Company> companyCache = new CacheManager<Company>(new SmsDatabaseCache<Company>(), (key) =>
                 {
                     
    return SmsDatabase.Instance.Context.Company.Where(c => c.ShortNumber == (string)key).SingleOrDefault();
                 });

    SmsDatabaseCache是一个缓存方案,还可以使用SimpleCache,TimeoutCache等实现了ICache接口的类,因为我的ICacheManager从ICache继承,所以还可以实现级连缓存哟,例如:

    SmsDatebaseCache是一个依SmsDatabase.Instance.Context的缓存方案,在LinqContextDispose时,会进行清空数据操作。
    SmsDatabaseCache

    实现代码如下:
    缓存代码
  • 相关阅读:
    【webrtc】创建https服务(7)
    【python驱动】python进行selenium测试时GeckoDriver放在什么地方?
    python下载后出现python 已停止工作
    python版本下载时时,官方目录web-based与executable和embeddable 的区别
    python下pip 安装 pyautogui报错Command "python setup.py egg_info" failed with error code 1 in C:UsersAdministratorAppDataLocalTemppip-install-svhtephopygetwindow
    python踩坑记录篇,持续更新
    坑:jmeter代理服务器录制脚本出现target controller is configured to "use recording Controller" but no such controller exists...
    jmeter+ant+jenkins构建自动化测试
    linux环境下固定ip操作
    pychram编写代码鼠标变粗处理
  • 原文地址:https://www.cnblogs.com/evlon/p/1416179.html
Copyright © 2011-2022 走看看