.Net牛刀小试-1缓冲使用
2024-09-10 04:26:46
根据文件名缓冲文件:
/// <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();
最新文章
- Python模块之";prettytable";
- select元素中设置padding效果
- Oracle Merge into 详细介绍
- win32自绘按钮,使用GDI+(三)
- 【网络编程】——windows socket 编程
- 序号自增key的使用
- android studio 0.8.11 如何导入Library(新手向)
- CreateProcessW记录
- Python pass 语句使用示例
- poj1094 topsort
- xcode生成的IOS安装文件的位置
- longlistselector 闪烁问题研究
- POJ 3207 Ikki&#39;s Story IV - Panda&#39;s Trick(2-sat问题)
- All-In-One方式-安装openstack
- SpringBoot之GZip压缩,HTTP/2,文件上传,缓存配置
- win10蓝屏,windbg的使用
- docker --swarm启动2375端口监听
- summary ranges leetcode java
- js 异步加载和同步加载
- android开发学习——day4