我正在构建一个连接到sql server的Web应用程序。 过程是这样的:用户登录站点,从那时起与数据库有一些连接,但从数据库到达的另一件事是客户公司作为对象的表示。客户端可以在会话期间更改一些数据。当会话结束时(客户端关闭浏览器)。发送到数据库的对象。 所以问题是从我把表带到代码背后的那一刻我应该如何保留它。在数据表或ini文件中。 请记住,这是浏览器,我希望尽可能快地保持它。 谢谢大家。
答案 0 :(得分:0)
听起来应该使用数据库。毫无疑问。
您的用户期望(ACID)一致性,以及将Web应用程序与多个用户等一起使用的能力。当数据库完全开箱即用时,使用ini文件是没有意义的。
答案 1 :(得分:0)
您应该将数据保存在数据库中,并在每次页面请求时从那里读取数据。至少,你应该从哪里开始,并且如果你确实遇到任何性能问题,只考虑在内存中缓存数据。
您不应该为用户打开数据库连接,您应该为每个请求打开一个新连接,并尽快关闭它。连接由系统汇集并重新使用,因此每次打开连接时都不必建立与数据库的新连接,但是您应该让系统处理所有这些连接。
应该立即将更改的数据写入数据库。将数据保存在内存中并在会话结束时写入它会导致稳定性和时序问题。服务器不知道用户何时关闭浏览器,因此服务器认为会话在用户的最后一次请求之后结束一段时间,通常是15分钟。这意味着用户关闭浏览器时不会写入数据,但最多15分钟后才会写入数据。如果用户再次登录,则更改将在一段时间后显示。如果服务器在保存数据时出现问题,则数据将丢失,并且根本不会保存更改。