我目前正在开发一个基于网络的音乐播放器。我遇到的问题是从数据库中提取所有歌曲的列表并将其发送给客户端。客户端具有动态创建播放列表的能力,因此他们必须有权访问整个库的列表。这个库可以包含超过 20,000 首独特的歌曲。我正在使用 django 和这个暂定方案在服务器端准备数据:
{
id: "1",
cover: "http://example.com/AlbumArt.jpg",
name: "Track Name",
time: "3:15",
album: "Album Name",
disc: (1, 2),
year: "1969",
mp3: "http://example.com/Mp3Stream.mp3"
},
{
id: "2",
...
}
动态将此信息发送给客户的最佳方法是什么?我应该使用 JSON 吗?JSON 能否有效地发送这个包含 20,000 个条目的文本文件?是否可以在客户端缓存这个播放列表,这样这个巨大的请求就不必在每次用户登录时都发生,而只是在数据库发生变化时发生?
基本上,我现在需要的是一种可靠的方法来及时传输由大约 20,000 个对象组成的基于文本的播放列表,每个对象都有自己的属性(名称、大小等)。有点像谷歌音乐。登录后,您会看到库中的所有歌曲。他们如何发送此列表?
另一个想到的小问题是,浏览器(主要是 Chrome)能否在不牺牲可用性的情况下处理这么多数据?
非常感谢您的帮助!