标签归档:数据库

PHP使用数据库的并发问题

在并行系统中并发问题永远不可忽视。尽管PHP语言原生没有提供多线程机制,那并不意味着所有的操作都是线程安全的。尤其是在操作诸如订单、支付等业务系统中,更需要注意操作数据库的并发问题。

接下来我通过一个案例分析一下PHP操作数据库时并发问题的处理问题。

首先,我们有这样一张数据表:

继续阅读

利用JavaScript开发事件驱动的Web应用 – node.js简介

  今天混迹于技术社区时,真正接触到了传说中的服务器端Javascript。在服务器端使用Javascript可以弥合服务器端语言和客户端脚本语言的鸿沟,使得他们能够更好的协作。客户端甚至可以直接复用服务器端的一些组件,这样就可以简化很多在客户端、服务器端重复进行的工作,例如表单验证。由于不存在了语言的差异,服务器端和客户端通讯将变得更加简洁。我研究了一下javascript for server的一个典型项目,node.js。这是一个事件驱动模式的javascript服务器容器。它采用了谷歌Chrome浏览器的高效js引擎V8,服务器请求处理模式则使用了和高效HTTP服务器NGINX一样的event loop。根据一些测试显示,一个Hello World程序在一台拥有4核的CPU上,以4进程方式运行,可以承受2.4万并发连接请求,这对于绝大多数服务器端脚本语言来说是一个可望而不可即的数字。另外由于node.js的事件驱动程序模型,对很多需要耗费大量资源维护长连接请求的应用(比如聊天室、SNS、微博、WebIM等等)来讲,更是福音。它不仅降低了服务器端资源开销,也使得应用更具实时性。 继续阅读