问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php前台+java后台+mysql数据库的搭配好,还是前后台都用java,数据库用mysql的搭配好。

发布网友 发布时间:2022-04-07 19:56

我来回答

4个回答

懂视网 时间:2022-04-08 00:18


在了解了 MySQL 的各个模块之后,我们再看看 MySQL 各个模块间是如何相互协同工作的 。接下来,我们通过启动 MySQL,客户端连接,请求 query,得到返回结果,最后退出,这样
一整个过程来进行分析。


当我们执行启动 MySQL 命令之后, MySQL 的初始化模块就从系统配置文件中读取系统参数和命令行参数,并按照参数来初始化整个系统,如申请并分配 buffer,初始化全局变量,
以及各种结构等。同时各个存储引擎也被启动,并进行各自的初始化工作。当整个系统初始化结束后,由连接管理模块接手。连接管理模块会启动处理客户端连接请求的监听程序, 包
括 tcp/ip 的网络监听,还有 unix 的 socket。这时候,MySQL Server 就基本启动完成,准备好接受客户端请求了。


当连接管理模块监听到客户端的连接请求(借助网络交互模块的相关功能),双方通过Client & Server 交互协议模块所定义的协议 “寒暄”几句之后,连接管理模块就会将连接
请求转发给线程管理模块,去请求一个连接线程。

 

线程管理模块马上又会将控制交给连接线程模块,告诉连接线程模块:现在我这边有连接请求过来了,需要建立连接,你赶快处理一下。连接线程模块在接到连接请求后,首先会检查当前连接线程池中是否有被 cache 的空闲连接线程,如果有,就取出一个和客户端请求连接上,如果没有空闲的连接线程,则建立一个新的连接线程与客户端请求连接。当然, 连接线程模块并不是在收到连接请求后马上就会取出一个连接线程连和客户端连接,而是首先通过调用用户模块进行授权检查,只有客户端请求通过了授权检查后,他才会将客户端请求和负责请求的连接线程连上。


在 MySQL 中,将客户端请求分为了两种类型:一种是 query,需要调用 Parser 也就是Query 解析和转发模块的解析才能够执行的请求;一种是 command,不需要调用 Parser 就可
以直接执行的请求。如果我们的初始化配置中打开了 Full Query Logging 的功能,那么Query 解析与转发模块会调用日志记录模块将请求计入日志,不管是一个 Query 类型的请求还是一个 command 类型的请求,都会被记录进入日志,所以出于性能考虑,一般很少打开 FullQuery Logging 的功能。


当客户端请求和连接线程“互换暗号(互通协议) ”接上头之后,连接线程就开始处理客户端请求发送过来的各种命令(或者 query),接受相关请求。它将收到的 query 语句转
给 Query 解析和转发模块, Query 解析器先对 Query 进行基本的语义和语法解析,然后根据命令类型的不同,有些会直接处理,有些会分发给其他模块来处理。如果是一个 Query 类型的请求,会将控制权交给 Query 解析器。 Query 解析器首先分析看是不是一个 select 类型的 query,如果是,则调用查询缓存模块,让它检查该 query 在query cache 中是否已经存在。如果有,则直接将 cache 中的数据返回给连接线程模块,然后通过与客户端的连接的线程将数据传输给客户端。如果不是一个可以被 cache 的 query类型,或者 cache 中没有该 query 的数据,那么 query 将被继续传回 query 解析器,让 query解析器进行相应处理,再通过 query 分发器分发给相关处理模块。


如果解析器解析结果是一条未被 cache 的 select 语句,则将控制权交给 Optimizer,也就是 Query 优化器模块,如果是 DML 或者是 DDL 语句,则会交给表变更管理模块,如果是一些更新统计信息、检测、修复和整理类的 query 则会交给表维护模块去处理,复制相关的query 则转交给复制模块去进行相应的处理,请求状态的 query 则转交给了状态收集报告模块。实际上表变更管理模块根据所对应的处理请求的不同,是分别由 insert 处理器、 delete处理器、update 处理器、create 处理器,以及 alter 处理器这些小模块来负责不同的 DML和 DDL 的。在各个模块收到 Query 解析与分发模块分发过来的请求后,首先会通过访问控制模块检查连接用户是否有访问目标表以及目标字段的权限,如果有,就会调用表管理模块请求相应的表,并获取对应的锁。表管理模块首先会查看该表是否已经存在于 table cache 中,如果已经打开则直接进行锁相关的处理,如果没有在 cache 中,则需要再打开表文件获取锁, 然后将打开的表交给表变更管理模块。


当表变更管理模块“获取”打开的表之后,就会根据该表的相关 meta 信息,判断表的存储引擎类型和其他相关信息。根据表的存储引擎类型,提交请求给存储引擎接口模块, 调用对应的存储引擎实现模块,进行相应处理。不过,对于表变更管理模块来说,可见的仅是存储引擎接口模块所提供的一系列 “标准”接口,底层存储引擎实现模块的具体实现,对于表变更管理模块来说是透明的。他只需要调用对应的接口,并指明表类型,接口模块会根据表类型调用正确的存储引擎来进行相应的处理。


当一条 query 或者一个 command 处理完成(成功或者失败)之后,控制权都会交还给连接线程模块。如果处理成功,则将处理结果(可能是一个 Result set,也可能是成功或者失败的标识)通过连接线程反馈给客户端。如果处理过程中发生错误,也会将相应的错误信息发送给客户端,然后连接线程模块会进行相应的清理工作,并继续等待后面的请求,重复上面提到的过程,或者完成客户端断开连接的请求。


如果在上面的过程中,相关模块使数据库中的数据发生了变化,而且 MySQL 打开了 binlog 功能,则对应的处理模块还会调用日志处理模块将相应的变更语句以更新事件的形式记
录到相关参数指定的二进制日志文件中。在上面各个模块的处理过程中,各自的核心运算处理功能部分都会高度依赖整个 MySQL的核心 API 模块,比如内存管理,文件 I/O,数字和字符串处理等等。

 

 

了解到整个处理过程之后,我们可以将以上各个模块画成如图 的关系图:

技术分享 热心网友 时间:2022-04-07 21:26

有钱人都用jave开发,稳定性好速度快。如果资金不是太富裕建议PHP+JAVA+MYSQL

热心网友 时间:2022-04-07 22:44

考虑后期添加模块的便捷性和稳定性,java + mysql

热心网友 时间:2022-04-08 00:18

还是前后台都用java+oracle数据库追问不是说现在的主流都是php+java+mysql的黄金搭配?用java做前台,以后会不会很麻烦?

追答是JSP做前台,有什么黄金不黄金的,只要自己用的的心应手,有什么麻烦的?

为什么大型网站前端使用 PHP 后台逻辑用 Java

1. 跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,并且和很多免费的平台结合非常省钱,比如LAMP(Linux /Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)结合,或者数据应用够大可以考虑换 PostgreSQL或者Oracle,支持N种数据库。(N >= 10)2. 语法简单,如果有学习C和Perl的很容...

开发APP 后台用java还是PHP 好

两者都很好,普遍的都用php,而java少,php开发和维护简单,java开发会有点复杂,而且国内的服务商比较少,空间费用较php贵好几倍,但从代码开源方面,java可以有效保护自己的代码,php是开源的,我建议先用php+mysql开发,待程序完善后可升级到jsp+mysql后台,php空间服务商很多,而且开发者很多,有很多...

php为什么越来越像java(php做网站为什么比java快)

Java可以采用数据库连接池技术,节省下数据库连接过程带来的时间损失。 PHP没有这个好处,原因来自上面的第二条。 在数据库接口上java有JDBC,PHP有PDO,这两个很类似。然而Java有非常多的ORM技术框架(如Hibernate)使数据库操作变得异常简单,而PHP的运行方式决定了它是ORM的禁区(当然也可以做ORM,只是做到什么程度是由你...

php后端和java后端的区别(java和php哪个做app后端)

php后台开发和java后台开发的区别1、PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。例如:用Java开发的Web应用从MySQL数据库转到Oracle数据库只需要做很少的修改。而PHP则需要做大量的修改工作。2、首先,从概念上讲,Java是一种面向对象的程语言,它具有简单性、面向对...

it前端和后端的区别(it前端和后端哪个辛苦)

详细的解释一下web前后端的区别 1、 前台:呈现给用户的视觉和基本的操作。 后台:用户浏览网页时,我们看不见的后台数据跑动。后台包括前端、后端。 前端:对应我们写的html、css、javascript等网页语言作用在前端网页。 后端:对应jsp、javaBean、dao层、action层和service层的业务逻辑代码。(包括数据库) 为什么jsp是后端...

php后端和java后端的区别?

而Java适合于开发大型的应用系统,应用的前景比较广阔,系统易维护、可复用性较好。 2,系统的技术架构比较,PHP只能实现简单的分布式两层或三层的架构,而JAVA在这方面就十分强大,可以实现多层的网络架构。 3,数据库访问比较,PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强,而Java通过...

现在公司一般是用什么语言做网站后台和什么数据库?

网站的后台语言和数据库是有很多的,但是现在主流的用的比较多的就有以下几种:asp.net+sqlserver数据库、PHP+MySQL数据库、jsp+oracle数据库等,这只是主流的编程语言和常用的数据库,我以编程语言+数据库的格式写不是那种语言只能和那种数据库搭配,而是那样搭配比较好,效率比较高而已。下面说一下这些...

Java和PHP在Web开发方面的比较

PHP对于不同的数据库采用不同的数据库访问接口 所以数据库访问代码的通用性不强 例如 用Java开发的Web应用从MySQL数据库转到Oracle数据库只需要做很少的修改 而PHP则需要做大量的修改工作 三 系统设计架构比较 采用Java的Web开发技术 需要使用的是面向对象的系统设计方法 而PHP还是采用面向过程的开发方法 ...

为什么现在大部分互联网公司使用的数据库是MySQL?

1、LNMP架构模式的推动 Linux+Nginx+MySQL+PHP这种架构选型在中小型互联网公司使用是最多的,也是最主流的。像淘宝早期也是这种技术选型。因为PHP+MySQL是“黄金搭档”,加上PHP开源框架太多,市场占有率很高,所以也催生了MySQL的发展。2、大型公司去IOE化的推动:在以前,一般的不差钱的大型企业在信息化...

layui菜鸟教程?

如何在layuitable中操作mysql数据库 如上图所示,要扣除里面的表格数据,该怎么弄呢?思路是先把整个表格抠出来,然后按照tr进行分割,存到数组,然后一个个遍历进行正则匹配,最后输出结果转化为json格式,供前台调用! 如何实现layui的动画点击效果 实现一个可交互的动画大概有这么几种思路: 在响应GestureRecognizer的方法中...

java如何配置数据库mysql java创建mysql数据库 java查询mysql数据库 java向mysql数据库中添加 java如何连接mysql数据库 jsp连接mysql数据库 mysql数据库实例名是什么 jdbc连接mysql数据库 mysqljdbc连接数据库代码
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
尼康24 f1.4 和58 f1.4定焦镜头哪个好蜂鸟论坛 尼康28 85d2.8-4和适马24 70 2.8二代,哪个好? ...尼康14-24 F2.8 这个头要这么大光圈有什么用 开个网吧需要路由器和交换机?这路由器和家用的有什么区别?交换机是用来... 网吧交换机和网吧路由器的区别 南京儿童游乐场有哪些 ...盆栽植物上,将一分枝的叶片套上一个透明的塑料袋,扎紧袋口,一段时间... ...在一株盆栽植物上将一分枝的叶片套上一个透明的塑料袋,扎紧袋... 苹果6开不了机了怎么办啊? 抖音的歌单在哪设置? 厨房的厨的字组词 我的脸的两侧靠近耳朵的地方长了好多的痘痘,怎么除? 厨房的厨字怎么组词 劝诫与告诫的区别? 厨组词有哪些词语 厨字组词 我老是在脸颊靠近耳朵附近长痘痘怎么回事 厨可以组什么词语 厨的多音字组词 告诫劝诫忠告的区别 蘑菇不能和什么一起吃 关于“虾”的诗句有哪些? 两个描写春天特点的成语 历史上皇帝都是很讲究吃的吗? ha拼音的所有汉字,ha拼音的汉字有哪些? 见藐小之物必细察其纹理 盖一癞蛤虾,舌一吐而二虫尽为所吞 哈蛤虾哈蛤虾哈蛤虾 哈蛤虾奤铪紦鰰溌怎么读? 蛤虾宁波话是什么意思 DW CC 2017安装之后界面不见了 浙江舟山跑滴滴怎么样? 舟山市岛城代驾服务有限公司怎么样? 郑、拜、租、厨、毡、羞、撒、缚、猬、伶、俐、窜怎么组词? 舟山市定海绿客汽车租赁有限公司怎么样? 厨房的拼音 怎么样寻找有贷款需求的精准客户? 新手贷款经理上路,该怎么让需要贷款的客户找到我 安卓系统有没有解压ISO文件的? 厨,加上不同的偏旁组成两个新字,在组两个词。 广州如何找需要贷款的优质客户 舟山市的弟代驾服务有限公司怎么样? 厨用拼音查字法怎么查? 安卓手机用recovery备份出来的镜像文件解包后是否可以制成rom? 脸上靠近耳朵的地方有痘痘 舟山市迪迪代驾服务有限公司怎么样? 舟山叫一个代驾到瑞安要多少钱400公里 舟山和宁波都是哪个代驾公司 手机recovery恢复镜像什么意思? 小米手机没有usb调试怎么办 怎样提取手机镜像?安卓手机