php如何处理大数据高并发
大数据解决方案
使用缓存: (推荐学习:PHP视频教程)
使用方式:1,使用程序直接保存到内存中。主要使用Map,尤其ConcurrentHashMap。
使用缓存框架。常用的框架:Ehcache,Memcache,Redis等。
最关键的问题是:什么时候创建缓存,以及其失效机制。
对于空数据的缓冲:最好用一个特定的类型值来保存,以区别空数据和未缓存的两种状态。
分布式数据库
将不同的表存放到不同的数据库中,然后再放到不同的服务器中。有些复杂问题,如:事务处理,多表查询。
NoSql和Hadoop
NoSql,not only SQL。没有关系型数据库那么多限制,比较灵活高效。
Hadoop,将一个表中的数据分层多块,保存到多个节点(分布式)。每一块数据都有多个节点保存(集群)。集群可以并行处理相同的数据,还可以保证数据的完整性。
高并发的解决方案
应用和静态资源分离。
将静态资源(js,css,图片等)放到专门的服务器中。
页面缓存
将应用生成的页面缓存起来可以节省大量cpu资源。
对于部分页面经常变换数据的,可以使用ajax来处理。
集群和分布式
集群,多台服务器具有相同的功能,主要起分流的作用。
分布式,将不同的业务放到不同的服务器中,处理一个请求可能需要多台服务器,进而提高一个请求的处理速度。
又分为静态资源集群和应用程序集群。后者较复杂,经常要考虑session同步等问题。
反向代理
客户端直接访问的服务器并不是直接提供服务的服务器,它从别的服务器获取资源,然后将结果返回给用户。
CDN
CDN是一种特殊的集群页面缓冲服务器,和普通的集群的多台页面缓冲服务器相比主要区别是:其存放位置和分配请求方式不同。
CDN的服务器分布在全国各地,接收到请求后会将请求分配到最合适的CDN服务器节点来获取数据。其每一个CDN节点就是一个页面缓存服务器。
以上就是php如何处理大数据高并发的详细内容,更多请关注其它相关文章!
上一篇: 如何调试javascript
下一篇: PHP数组学习之二维数组创建方法浅析
推荐阅读
-
关于使用php 多线程处理高并发的搜索请求的有关问题
-
如何处理大量数据并发操作
-
php 根据url自动生成缩略图并处理高并发问题_PHP教程
-
php socket 处理不过来数据流,该如何避免(好像是阻塞了)
-
php socket数据等待,php卡死,该如何处理
-
解决局域网共享软件 PHP如何解决网站大流量与高并发的问题
-
为什么无法使用php中mysqli的准备语句进行数据库中数据的查询(绑定参数或者绑定结果),项目急用!该如何处理
-
.net core如何在网络高并发下提高JSON的处理效率详解
-
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
-
.net core如何在网络高并发下提高JSON的处理效率详解