根据文件名缓冲文件:

    /// <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();

.Net牛刀小试-1缓冲使用的更多相关文章

  1. C++双缓冲多线程分析大文件词频

    实习生活告一段落,我正式从一名.NET程序员转入Java阵营,不得不说刚开始用Java的东西是多么的不习惯,但是经过三个月的使用与开发,我也发现了Java的优势:不在于语言,而在于开源.这意味着有更多 ...

  2. mysql的缓冲查询和非缓冲查询

    最近在开发一个PHP程序时遇到了下面的错误: PHP Fatal error: Allowed memory size of 268 435 456 bytes exhausted 错误信息显示允许的 ...

  3. 字节流VS缓冲流

    ---恢复内容开始--- 字节流VS缓冲流 java.io包中的类大致可以分为:InputStream.OutputStream.Reader.Writer.InputStream/Reader可以理 ...

  4. 【原】webp图片牛刀小试

    其实今年很早就有接触到webp图片的概念,只是一直没怎么弄.今天在一个小项目中小用了一番.总结总结 采用 what,why,how的方式来总结 what? 什么是webp图片? 维基百科:       ...

  5. (转载)GDI+双缓冲

    双缓冲在GDI+里可以有效的提高描画效率.改善显示的质量. 下面的代码是一个最简单的双缓冲的模板.可以根据需要,做简单的修改即可. Bitmap CacheImage( [Width], [Heigh ...

  6. C和指针 第十五章 输入输出缓冲

    对于C,所有的I/O操作都只是简单的从程序移进或移出字节,这种字节流便成为流(stream),我们需要关心的只是创建正确的输出字节数据,以及正确的输入读取数据,特定的I/O设备细节都是对程序隐藏的. ...

  7. Linux系统编程之IO_缓冲和非缓冲

    下面是一段类似日志记录的代码,已获取通讯的报文内容和当时的环境参数内容,就是创建一个文件,使用标准IO的fopen.fprintf进行输出记录.但是在调试中,刚开始我就傻眼了,文件创建成功了,但是实时 ...

  8. javascript运动系列第五篇——缓冲运动和弹性运动

    × 目录 [1]缓冲运动 [2]弹性运动 [3]距离分析[4]步长分析[5]弹性过界[6]弹性菜单[7]弹性拖拽 前面的话 缓冲运动指的是减速运动,减速到0的时候,元素正好停在目标点.而弹性运动同样是 ...

  9. linux标准IO缓冲(apue)

    为什么需要标准IO缓冲? LINUX用缓冲的地方遍地可见,不管是硬件.内核还是应用程序,内核里有页高速缓冲,内存高速缓冲,硬件更不用说的L1,L2 cache,应用程序更是多的数不清,基本写的好的软件 ...

随机推荐

  1. ERROR: Cannot load message class for [speech_control/command]. Are your messages built?

    ubuntu14.04 ROS indigo 问题: 执行查看指定消息的命令,出现下面的错误提示,找不到该消息类型. ~$ rostopic echo /speech/command ERROR: C ...

  2. mysql5.5.25 中文问题 my.ini没有及配置问题 修改默认编码方式

    1.当你向mysql输入中文后,用select查询结果中文变成了问号,那你就往下看. 2.打开cmd,进入mysql,输入show variables like"%char%";可 ...

  3. 软工个人作业4——Alpha阶段个人总结

    一.个人总结 1.在alpha 结束之后, 每位同学写一篇个人博客, 总结自己的alpha 过程: 经过本次alpha阶段的冲刺,首先学到了很多,收获了很多,同时也蛮辛苦的.其实我觉得作为组员我有很认 ...

  4. 自学python之路(day4)

    一 购物车小程序 goods=[{}, {}, {}] shop_car={} li=[] ,len(goods)): li.append(i) money=input('请输入您的总金额:') if ...

  5. Red Hat Enterprise 7.5 安装后无法进入图形界面 This system is not registered with an entitlement server. You can use subscription-manager to register.

    This system is not registered with an entitlement server. You can use subscription-manager to regist ...

  6. winform程序读取和改写配置文件App.config元素的值

    winform程序读取和改写配置文件App.config元素的值 2016-05-16 17:49 by newbirth, 2412 阅读, 0 评论, 收藏, 编辑 1 2 3 4 5 6 7 & ...

  7. failed to start process with commandline '%LAUNCHER_PATH% %LAUNCHER_ARGS%', ErrorCode = '0x80070002

    在dotnet core进行开发的时候,需要开发目录直接iis进行部署,然而启动的时候,报异常,我们查看windows下的应用日志发现有个这样的错误信息 Application 'MACHINE/WE ...

  8. sql 双表或多表的连接查询 join

    使用 inner join,left join, right join.full join 对双表进行联合查询. 1.inner join.join:如果表中有至少一个匹配,则返回行. 2.left ...

  9. Python统计excel表格中文本的词频,生成词云图片

    import xlrd import jieba import pymysql import matplotlib.pylab as plt from wordcloud import WordClo ...

  10. jcifs windows 域账户单点登录(转)

    1.首先从http://jcifs.samba.org 这个站点下载 jcifs-1.3.2.jar包. 2.把这个包放到相应的lib文件下面. 3.对web.xml文件进行配置,添加如下内容 < ...