实现一个最简单最基本的缓存系统。
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Collections;
using System.Text;
using System.Threading;
using System.Collections.Generic;
using System.Reflection;
namespace ConsoleApplication1
{
public class MyCache<T> where T : new()
{
//缓存的数据
private List<T> data;
private void SetData(List<T> data)
{
this.data = data;
}
public List<T> GetData()
{
return this.data;
}
//缓存过期时间
public int timeoutSecond;
//缓存读取数据库的SQL
public string sql;
/// <summary>
/// 启动缓存
/// </summary>
public void StartCache()
{
Console.WriteLine("缓存启动,开始初始化缓存数据...");
DataTable dt = GetDataFromDB(this.sql);
SetData(ConvertHelper<T>.ConvertToList(dt));
Console.WriteLine("缓存启动,初始化数据完成.");
//定时更新缓存
TimerCallback tcb = new TimerCallback(UpdateCache);
Timer tmr = new Timer(tcb, null, timeoutSecond, timeoutSecond);
}
/// <summary>
/// 根据配置的SQL从数据库取得数据
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
private