我正在设计一个小的网络应用程序/游戏。哪个更好:MySQL表或json文件?它们都存储信息。它们都可以由PHP解析。优点/缺点是什么?
这就是我的意思:
username | password ------------------- seefour | abc123
与
{ "username":"seefour", "password":"abc123" }
编辑:哇,距我问这个问题只有3年了,很惊讶地看到自问这个问题以来我已经成熟了多少。从未来的我到过去的我,这就是为什么两者都不起作用的原因。(以防当时有人像我这样幼稚的人可以参考这个)
我曾经认为这两个是可互换的,因为它们在很大程度上都是存储信息的方式,尽管当时存储和使用JSON文件对我来说比较容易。数据库是独立的软件,可以更快地检索数据,并且不会随着时间的推移而end肿。同样,将所有数据都存储在一个或两个文件中会使最终很容易导致数据被盗或丢失,因为这样做可以使数据库更安全。从根本上讲,数据不应成为您代码的一部分;它应该与您的代码一起使用。
此外,您还将了解到几年后的哈希和盐腌技术,因此请不要以纯文本形式存储密码!
直言不讳,MySQL是一个数据库,而JSON不是,因此正确的答案是MySQL,毫不犹豫。JSON只是一种语言,几乎没有。JSON从未被设计来处理诸如并发连接或任何类型的数据操作之类的事情,因为它自己的功能是 表示 数据,而不是 管理 数据。
因此,请使用MySQL存储数据。然后,您应该使用某种编程语言来读取该数据库,并将该信息作为JSON发送,而不是将任何内容实际存储在JSON中。
如果将数据存储在文件中(无论是JSON格式还是其他格式),由于数据库开始用于同一事物,您将遇到人们不再担心的各种问题。大小限制,锁,命名。当您有一个用户时,这已经足够了,但是当您添加更多用户时,您将开始解决许多问题,最终可能会写一个整个数据库引擎来为您处理文件而最终本来可以只使用实际的数据库。