2011-08-30 106 views
0

我目前正在使用HTML5/Javascript中的网页,用户可以在其中记录在一段时间内更改的滑块的值。例如,当用户单击Record时,将启动一个计时器,并且每次用户移动滑块时,其值都将保存在一个数组中。当用户停止录制并播放时,所有滑块在录制时都会“播放”。我的值存储在数组中,这样的事情:在服务器端保存大量数组的最佳方法

阵列[3]:{时间戳,和idSlider,valueSlider}

阵列实际上可以成为为用户相当庞大的,然后可以在已经设定记录记录而不会丢失前一个,这允许用户为相同的时间戳更改多个滑块。

我现在希望能够将此数组保存在某个位置(服务器端),以便用户稍后可以返回到网站,并加载其记录的设置,但我不确定最佳方法去做。

我想到一个数据库,但不知道这是否会有点慢从服务器保存和加载,加上我的数据库容量非常小(我的OVH服务器上大约25 Mo)。我想可能平均有800个条目可以保存。

也许在一个文件(XML?),但我不知道如何保存在我的服务器端...

任何其他想法是值得欢迎的,因为我停留在这一个位。

感谢&对不起任何英文错误, 干杯, 垫

回答

3

无论serialize()json_encode()它,将它保存为一个LONGTEXT数据库记录。

+0

感谢您的回答,并为迟到的反应感到遗憾,花了我一段时间来理解这些新概念!我得到了一些与serialize有关的工作,我使用Ajax调用php函数来保存SQL DB上的数据,并且请求数据。我的数组结构:array {timeStamp {{id,value}}},例如{22,{23,24,50}},70 {{4,80}}},在时间22ms,滑块2的值是23,滑块4的值是50,在时间70ms,滑块4的值是80.序列化后,我反序列化,但数据看起来更像{22,2,23,4,50,70,4,80}。我怎样才能保持我的数组结构?谢谢 ! – batmat

1

您可以尝试存储整个JSON对象为用户特定的文件明文。这将使服务的设置很容易,因为它会是简单的JSON,简单的需要进行评估。

虽然这似乎有点不正统。当你说800项你的意思 1 ID:0,时间戳:XXXXXXXXXXXXX,idSlider:X等 2 ID:1,时间戳:XXXXXXXXXXXXX,idSlider ....

或800的用户条目?因为你可以将整个对象保存在数据库中,并且避免执行大量“昂贵”的查询。

+0

谢谢你的回答,当我说800个参赛作品时,我的意思是一个800字段的阵列,就像你之前提到的那样。如果我使用JSON,我的JavaScript数组可以在JSON中转换,还是这意味着我必须创建一个JSON对象来开始? – batmat

2

我认为800并不像你想象的那么庞大。您可以将其保存到数据库并使用JSON进行传输。我相信数据库应该非常高效,不会浪费大量存储空间,但这可能取决于您如何设置表格。例如,不要使用char()列。

要查看哪些使用更多或更少的存储空间,可以计算1000个条目需要占用多少空间,然后将它们放入数据库中,查看它使用了多少空间以及浪费了多少空间。

如果你真的在处理大量的项目,那么网络性能可能会成为你的第一个瓶颈。为了加载,我会将JavaScript流式传输到浏览器,以便浏览器不必将整个内容加载到内存中。另外,对于发送,您希望一次创建1000个可管理的块,并将它们发送到这些块中。但是,这是假设你正在处理更多的数据。

0

这是一个完美的使用案例MongoDB

相关问题