javascript - 在静态网站中将数据加载到 JavaScript 中以供立即使用的最快方法是什么?

标签 javascript csv d3.js datatable

我有一个网站需要加载大量数据(即 CSV 格式的 ~5 或 10 Mb)。

这是一个静态网站(仅 HTML 和 JS,没有数据库),我从一开始就需要一次所有数据,因为我使用 dc.js 中的数据。和 datatables .

目前,我已将数据存储在 CSV 文件中,并使用 d3.js 中的 d3.csv 函数加载它。 .
但在我最快的连接上,如果有 20k 条记录,则需要 5 秒。只是为了加载文件。

为了更好地理解,这是我的 CSV 的一条记录(其中有 10k 到 50k 条记录):

Title,Year,Rating,NumVotes,imdbID,Type,poster_path,release_date,Released,Runtime,Genres,Directors,Actors,Plot,Country,Metascore,imdbRating,imdbVotes,tomatoMeter,tomatoReviews,tomatoUserMeter,tomatoUserReviews,DVD
"Grease Live!","2016","7.7","3978","tt4366830","TV Movie","/6g1E0Ptg27NLCoK7rhJxuQxZCdg.jpg","2016-01-31","31 Jan 2016","180","Musical","Thomas Kail, Alex Rudzinski","Aaron Tveit, Julianne Hough, Elle McLemore, Vanessa Hudgens","After enjoying a summer romance, high school students Danny and Sandy are unexpectedly reunited when she transfers to Rydell High. There Sandy must contend with cynical Rizzo and the Pink Ladies in attempt to win Danny's heart again.","USA","N/A","7.8","3,710","N/A","N/A","N/A","12","N/A"

我想知道加载数据的最快方法是什么(压缩、拆分和异步加载、firebase...)。

目前我所知道的是 JSON 比 CSV 更糟糕,因为它占用更多空间。

最佳答案

1。分解数据

也许您可以将数据分成几千行的 block ,以便在传递到数据表之前在客户端重建?

这样您就可以利用并行下载。

2。利用客户端缓存

如果您知道数据更改的频率,或者可以接受一定的更改间隔,您可以使用 HTTP Expires header 来防止文件被不必要的下载?

这里只是在黑暗中拍摄

关于javascript - 在静态网站中将数据加载到 JavaScript 中以供立即使用的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35511654/

相关文章:

javascript - 动态加载 wordpress wp_editor (ajax)

javascript - 使用 Jquery 输出 XML 代码

javascript - 通过 ID 为表创建一个自动粗体 ??用javascript

sqlite - 使用Haskell/木薯将UTCTime转换为CSV字段

javascript - 从函数内部更改全局变量,或实现相同目标的最佳实践

python - 我想将 .csv 文件转换为 Numpy 数组

CSV 到 C 中的数组

javascript - 图表线不随可缩放图表区域移动

javascript - 第二次转换不起作用

javascript - 计算 d3 js 中 csv 数据集的文本字段数