根据文件名缓冲文件:

    /// <summary>
/// 根据文件名缓冲指定目录文件
/// </summary>
public class FileCacheAdapter
{
private string CacheFilePath = string.Empty;
public FileCacheAdapter(string cacheFilePath)
{
CacheFilePath = cacheFilePath;
}
public string getCache()
{
if (string.IsNullOrEmpty(CacheFilePath))
{
return "";
}
if (!File.Exists(CacheFilePath))
{
return "";
}
string cacheKey = Path.GetFileName(CacheFilePath);
string result = MemoryCache.Default[cacheKey] as string;
//如果没有命中缓冲,则初始化该缓冲
if (result == null)
{
//缓冲过期策略
var policy = new CacheItemPolicy();
//设置过期时间
policy.AbsoluteExpiration = DateTimeOffset.Now.AddSeconds(10.0); //初始化缓冲项变化检测集合
var filePaths = new List<string>();
filePaths.Add(CacheFilePath);
policy.ChangeMonitors.Add(new HostFileChangeMonitor(filePaths)); result = File.ReadAllText(CacheFilePath, Encoding.Default) + Environment.NewLine + DateTime.Now.ToString();
MemoryCache.Default.Set(cacheKey, result, policy);
}
return result;
}
}

使用示例:

    string cacheFilePath = "e:\\cache\\cacheText.txt";
var cache = new FileCacheAdapter(cacheFilePath);
string data = cache.getCache();

最新文章

  1. Python模块之&quot;prettytable&quot;
  2. select元素中设置padding效果
  3. Oracle Merge into 详细介绍
  4. win32自绘按钮,使用GDI+(三)
  5. 【网络编程】——windows socket 编程
  6. 序号自增key的使用
  7. android studio 0.8.11 如何导入Library(新手向)
  8. CreateProcessW记录
  9. Python pass 语句使用示例
  10. poj1094 topsort
  11. xcode生成的IOS安装文件的位置
  12. longlistselector 闪烁问题研究
  13. POJ 3207 Ikki&#39;s Story IV - Panda&#39;s Trick(2-sat问题)
  14. All-In-One方式-安装openstack
  15. SpringBoot之GZip压缩,HTTP/2,文件上传,缓存配置
  16. win10蓝屏,windbg的使用
  17. docker --swarm启动2375端口监听
  18. summary ranges leetcode java
  19. js 异步加载和同步加载
  20. android开发学习——day4

热门文章

  1. Linux 安装Python37
  2. ffmpeg奇数分辨率转码失败
  3. python builtin列表
  4. [server]利用python构建的服务器地址问题
  5. 19.Scharr滤波器
  6. js隐藏字符串中间部分
  7. APP测试报告
  8. CNN
  9. Groovy学习笔记-Java 5新特性支持
  10. Python 子进程不能input