我目前正在使用HTML5 / Javascript中的网页,用户可以在其中记录一段时间内更改的滑块的值。例如,当用户单击“记录”时,计时器将启动,每次用户移动滑块时,其值将保存在数组中。当用户停止录制和播放时,所有滑块将在录制时“播放”。我将值存储在数组中,类似于:
array [3]:{timeStamp,idSlider,valueSlider}
该阵列实际上可以变得相当大,因为用户可以记录已经记录的设置而不会丢失前一个,这允许用户为同一时间戳更改多个滑块。
我现在希望能够在某个地方(在服务器端)保存这个数组,这样用户可以稍后返回网站,只加载其记录的设置,但我不确定最好的做法那。
我正在考虑一个数据库,但不确定从服务器保存和加载是否会有点慢,而且我的数据库容量非常小(在我的OVH服务器上大约25 Mo)。我想可能平均要保存800个条目。
也许在一个文件(XML?)中,但我不知道如何在我的服务器端保存它...
欢迎任何其他想法,因为我有点卡在这一点上。
谢谢&对不起任何英语错误, 干杯, 垫
答案 0 :(得分:3)
serialize()
或json_encode()
,将其另存为longtext数据库记录。
答案 1 :(得分:2)
我认为800并不像你想象的那么大。您可以将其保存到数据库并使用JSON进行传输。我相信数据库应该非常高效并且不会浪费大量存储空间,但这可能取决于您如何设置表。例如,不要使用char()列。
要查看哪个使用更多或更少的存储空间,您可以计算1000个条目将占用多少空间,然后将它们放入数据库中,看看它使用了多少空间以及它浪费了多少。
如果你真的在处理大量的物品,那么网络性能可能会成为你的第一个瓶颈。为了加载,我会将javascript流式传输到浏览器,以便浏览器不必将整个内容加载到内存中。此外,对于发送,您可能希望一次创建可管理的块(可能是1000块),并将它们发送到这些块中。但是,假设您正在处理更多数据。
答案 2 :(得分:1)
您可以尝试将整个json对象作为纯文本存储在特定于用户的文件中。这将使设置服务变得非常简单,因为简单的json需要进行评估。
虽然看起来有点不正统。当你说800个条目时,你的意思是 1. id:0,时间戳:XXXXXXXXXXXXX,idSlider:X等 2. id:1,时间戳:XXXXXXXXXXXXX,idSlider ....
或800个用户条目?因为您可以将整个对象保存在数据库中,并避免执行大量“costy”查询。
答案 3 :(得分:0)
如果您更关心存储大小而不是读/写性能,可以encode the array as json string,compress it using zlib library和save it as a file。
答案 4 :(得分:0)
这是MongoDB的完美用例。