文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>本地数据缓存de清理机制

本地数据缓存de清理机制

时间:2010-10-27  来源:Choas

缓存文件的大小差不多,在2M左右,简单的根据文件的个数来进行限制,超过一定的数量则删除较旧的文件。

文件的产生是和用户的访问相关联的,每访问一个则产生一个sgy文件,一般一个用户一天不会访问的文件个数应该不会太多。

是否合理请各位读者评论。

        public bool ClearLocalSgyDir()
{
try
{
DeleteOldFiles(LocalSgyRootPath,
50, 24);
DeleteOldFiles(LocalSgyRootPath,
100, 8);
DeleteOldFiles(LocalSgyRootPath,
150, 4);
DeleteOldFiles(LocalSgyRootPath,
200, 0);
}
catch(Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message,
"Warning");
return false;
}
return true;
}

/// <summary>
/// 删除缓存文件夹中时间较久的sgy文件(根据最后访问时间)
/// </summary>
/// <param name="dirPath">缓存文件目录</param>
/// <param name="fileCountThreshold">文件个数限制</param>
/// <param name="hoursThreshold">小时数限制。24:只保留当天的;-1:全部删除</param>
private void DeleteOldFiles(string dirPath, int fileCountThreshold, int hoursThreshold)
{
string[] tempFileNameList = Directory.GetFiles(dirPath, "*.sgy", SearchOption.TopDirectoryOnly);

if (fileCountThreshold < tempFileNameList.Length)
{
foreach (string fileName in tempFileNameList)
{
var fileAge
= DateTime.Now - File.GetLastAccessTime(fileName);
if (fileAge.Hours > hoursThreshold)
{
File.Delete(fileName);
}
}
}
}

 

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载