【发布时间】:2011-11-19 12:03:06
【问题描述】:
我正在开发一个 ASP.Net 电子商务应用程序。 我使用 ASP.Net Web 表单。 当我完成整个应用程序时,我正在考虑缓存一些数据,这样应用程序的性能就会提高。 (坏主意……我必须从一开始就考虑到这一点)
我不使用诸如数据网格之类的内置控件。 我也使用 MS-Sql。
我使用 MySql 服务器美国数据库和我开发的自定义用户控件。 (自定义 ADO.Net 代码)
要从我使用的数据库中获取数据:
代表表 IE 字段的对象: 如果我的表(MyTable)有:
ID , Title, Date
我会创建一个像上面这样的对象:
public class MyTable{
public int ID {get;set;}
public string Title {get;set;}
public Datetime Date {get;set;}
}
要管理表中的字段,我使用类似上面的方法:
public class MyTableDatabaseManager{
//Insert a row
public bool insertMyTable(MyTable item){
//...Open a mysql connection , do job , close it.
}
//Update a row
public bool updateMyTable(MyTable item){
//...Open a mysql connection , do job , close it.
}
//Delete a row
public bool deleteMyTable(MyTable item){
//...Open a mysql connection , do job , close it.
}
//Get one row
public MyTable deleteMyTable(int id){
//...Open a mysql connection , do job , close it.
}
//Get some rows or all of them
public List<MyTable> deleteMyTable(int limit,int page,bool Ordering){
//...Open a mysql connection , do job , close it.
}
}
我的问题是:
如何在缓存中存储一些数据,这样我就不必一直与数据库通信?
如何在数据更改时以编程方式重置缓存?
(我知道怎么做,但是我把代码放在哪里:P 当我更改或插入一些值时,它可以在代码隐藏文件中,还是在其他地方?)
输出缓存对我不起作用,因为提供的大部分数据都是特定于用户的。 (大约 80%)
非常感谢:)
【问题讨论】:
标签: c# asp.net mysql caching ado.net