我正在构建一个webapp来编辑数据库中的一些信息。数据库显示为具有编辑功能的表。
编辑值时,通常我必须验证并执行其他一些任务,具体取决于正在编辑的值。
我应该将副本作为对象数组保存在内存中并使用他们的方法,还是应该将所需的所有信息(值的类型,id等)存储在html表中的某个位置(作为属性或隐藏的输入)并获取他们使用多种功能?
哪种最佳做法? 将许多对象存储在内存中是否存在风险(考虑到浏览器的内存使用情况)?
答案 0 :(得分:3)
将大量或大量数据存储在内存中,因为对象不会影响现代系统的性能。您应该考虑的主要因素是CPU密集型DOM迭代和重复操作。这需要大量的浏览器内存。
我更喜欢在内存中使用存储对象,而不是在许多应用程序中使用HTML隐藏字段。它运作良好,并没有发现任何性能瓶颈。
答案 1 :(得分:1)
我认为你正在描述一个MVC,它被认为是最佳实践。但是,出于安全目的,视图的内存模型通常会保存在服务器上。
在您的情况下可能无关紧要(我可能会得出结论),但我会警告不要相信客户的所有数据和验证。您可以使用Firebug实时修改页面中的所有内容,因此如果这会使您的应用程序面临风险,请考虑将内存模型移动到服务器。
答案 2 :(得分:1)
是否会在客户端遇到内存问题取决于您一次要保存多少数据。考虑将返回的信息限制为一定数量的记录并进行分页,然后可以限制在内存或页面上保存的数据量。
我希望在内存中保存信息会提供比要求不断调用服务器或DOM的更好的用户体验。从编程的角度来看,它也可能更容易
答案 3 :(得分:0)
从编程的角度来看,只做最简单的事情。我不会太担心像这样的内存使用情况,除非你完全确定它会导致问题。
如果应用程序出现问题,您可以稍后解决应用程序的内存使用情况。
答案 4 :(得分:0)
大多数数据库编辑工具,例如PhpPgAdmin和PhpMyAdmin分页结果,一次只允许编辑1行。你可以毫不费力地将它扩展到几个。如前所述,请记住分页。