将用户数据存储在服务器上的 JSON 文件中
Posted
技术标签:
【中文标题】将用户数据存储在服务器上的 JSON 文件中【英文标题】:Storing user data in JSON files on server 【发布时间】:2016-10-13 00:32:14 【问题描述】:我正在构建一个在后端使用 php 和 mysql 的 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 文件中的主要内容,如果未能解决你的问题,请参考以下文章