我正在寻找快速高效的数据存储来构建我的基于 PHP 的网站。我知道MySql。我可以在服务器根目录中使用 JSON 文件来代替 MySQL 数据库吗?如果是,最好的方法是什么?
您可以使用任何单个文件,包括 JSON 文件,如下所示:
以某种方式锁定它(谷歌 PHP 文件锁定,可能就像向文件打开函数添加参数或将函数名称更改为锁定版本一样简单)。
从文件中读取数据并将其解析为内部数据结构。
可选择修改内部数据结构中的数据。
如果修改了数据,请将文件截断为 0 长度并向其中写入新数据。
尽快解锁文件,其他请求可能正在等待......
您可以继续使用内部结构中的数据来呈现页面,只要记住,一旦您释放文件锁,它可能就会过时,并且其他 HTTP 请求可以修改它。
另外,如果您修改用户网络表单中的数据,请记住它可能在中间被修改过。例如,加载包含用户详细信息的页面进行编辑,然后其他用户删除该用户,然后编辑器尝试保存更改的详细信息,并且可能会出现错误,而不是重新创建已删除的用户。
Note: 这效率太低了。如果您正在构建一个预计有超过 10 个并发用户的网站,则必须使用更复杂的方案,或者仅使用现有数据库...此外,您不能拥有太多数据,因为解析 JSON 并生成修改后的数据JSON 需要时间。
只要一次只有一个用户,随着数据量的增长,它就会变得越来越慢,但随着用户数量的增加,更多的用户意味着更多的请求and更多数据,事情开始变得指数地速度较慢,并且很快就会达到 HTTP 请求在文件可用于处理请求之前开始过期的限制...
此时,不要尝试破解它以使其更快,而是选择一些现有的数据库框架(SQL 或 nosql 或基于文件的)。如果你开始自己动手,你最终只会重新发明轮子,通常效果很差:-)。好吧,除非这只是编程练习,但即便如此,学习一些现有框架的使用可能会更好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)