将用户数据存储在服务器上的 JSON 文件中

Posted

技术标签:

【中文标题】将用户数据存储在服务器上的 JSON 文件中【英文标题】:Storing user data in JSON files on server 【发布时间】:2016-10-13 00:32:14 【问题描述】:

我正在构建一个在后端使用 phpmysql 的 Web 应用程序。我想存储一些用户数据——基本上是一组 JSON 格式的对象,详细说明了用户对应用程序的“收藏夹”信息。我不想将此 JSON 数据存储在我的用户数据库表中的单个 MySQL 字段中,因为它看起来效率不高。

所以,我正在考虑将 JSON 数据存储在服务器上的平面文件中,并使用唯一标识符来了解该文件与哪个用户相关联。我的问题是:这对超过 10,000 个用户来说是一个可扩展的解决方案吗?

【问题讨论】:

dev.mysql.com/doc/refman/5.7/en/json.html 【参考方案1】:

无论是在技术方面还是在安全方面,这可能会给您带来很多麻烦。不,它不是非常可扩展的。想想它会引起的问题:当你需要添加一个服务器时会发生什么?您将如何同步文件?如果您想做一些涉及多个用户的事情,比如查看有多少人喜欢 XYZ,该怎么办?

更好的选择是执行以下操作之一:

规范化您的数据库(不管这部分)并将收藏夹放在自己的表中 将收藏夹保存在 JSON 列中(可能是错误的答案,但在某些情况下有意义)

如果您担心速度,可以使用 Redis、memcached 或其他一些系统来实现一些缓存。但是不要这样做 - 那是过早的优化。需要的时候做。

【讨论】:

伟大的观点 Ed。您关于查看多个用户的评论是正确的。我最初想在客户端使用 IndexedDB,但这使得多用户分析变得更加困难。我想我会考虑一个 MySQL 解决方案,即使它并不理想。 Ed 我还注意到 MySQL 5.7 提供了对 JSON 数据的原生支持。我使用的是较旧的 MySQL 5.6 版本,因此我将升级并测试 JSON 检索/存储。 @Yves 祝你好运,我很高兴能帮上忙!

以上是关于将用户数据存储在服务器上的 JSON 文件中的主要内容,如果未能解决你的问题,请参考以下文章

将数据从 MYSQL 导入网络服务器上的 JSON 文件

我可以使用 AJAX 'POST' 将数据发布到我服务器上的 JSON 文件吗?

如何将图片存到数据库中

Python存储数据

使用 JSON 作为存储/传输格式的数据库 [关闭]

在 KivyMD Python 中将数据存储在 JSON 文件中时出错