系统可选择的构架有两种,一种为两层方式,另一种为三层方式,具体描述如下。
对于两层方式:服务器数据库与用户客户端直接进行通信。这种方式设计简单、稳定,而且适于通信数据量大的情况。
用户 ——> 数据库
对于三层方式:用户客户端与服务器数据库之间通过应用服务器进行通信。在用户数量很多的情况下,通过应用服务器,可以减少数据库的处理,数据库更为安全可靠;但是方式技术含量高,实现起来较为复杂,而且在数据量很大时,应用服务器处理的压力很大。
用户 ——> 应用服务器 ——> 数据库
对于三层方式想法:减少数据库处理,可以在应用服务器中使用数据缓存,例如,
/// <summary>
/// 获取系列信息缓存
/// </summary>
/// <returns>系列信息缓存</returns>
private IDictionary<SeriesInfo, Series> GetCache()
{
bool isFirst = false;
if (cache == null)
{
cache = new .....;
isFirst = true;
}
if (isFirst)
{
.......
}
return cache;
}
此时当客服端没当NEW一个类对象是,只需构建一次cache就可以了,我以为在使用C/S结构是非常有好处,但是还是需要三思而后行.
想法二: 某些业务上的处理可以用存储过程或者大sql语句处理,此时sql语句编写相对困难且数据库计算量大等问题。 也可以用客服端代码处理,此时编写代码相对容易,但是数据库访问次数多且客服端运行代码量大(可能需要运行N多好代码)