摘要: Mysql主从配置,实现读写分离 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢失的话,后果更是 不堪设想。这时候,我们会考虑如何减少数据库的联接 阅读全文
posted @ 2016-06-03 18:56 fibst 阅读(266) 评论(0) 推荐(0) 编辑
摘要: PHP非阻塞模式 让PHP不再阻塞当PHP作为后端处理需要完成一些长时间处理,为了快速响应页面请求,不作结果返回判断的情况下,可以有如下措施: 一、若你使用的是FastCGI模式,使用fastcgi_finish_request()能马上结束会话,但PHP线程继续在跑。 帮助 01 02 03 04 阅读全文
posted @ 2016-06-01 15:00 fibst 阅读(627) 评论(0) 推荐(0) 编辑
摘要: redis是什么东西就不多说了,网上文章一搜一大堆。 首先来说一下我要实现的功能: 类似一个消息中转站吧,如果有人要发送消息,先将消息发到我这里来,然后我这边进行转发,为的就是有一个统一的管理和修改时方便, 而且所有的消息有优先级,也会有定时发送(如果同一时间消息过多,则会有延迟) 思路: 首先一个 阅读全文
posted @ 2016-05-31 18:25 fibst 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 最近遇到一个批量发送短信的需求,短信接口是第三方提供的。刚开始想到,获取到手机号之后,循环调用接口发送不就可以了吗? 但很快发现问题:当短信数量很大时,不仅耗时,而且成功率很低。 于是想到,用PHP和MySQL实现一个消息队列,一条一条的发送短信。下面介绍具体的实现方法: 首先,建立一个数据表sms 阅读全文
posted @ 2016-05-31 18:18 fibst 阅读(2979) 评论(0) 推荐(0) 编辑
摘要: 由于悲观锁在开始读取时即开始锁定,因此在并发访问较大的情况下性能会变差。对MySQL Inodb来说,通过指定明确主键方式查找数据会单行锁定,而查询范围操作或者非主键操作将会锁表。 接下来,我们看一下如何使用乐观锁解决这个问题。 MYSQL 首先我们为counter表增加一列update_time字 阅读全文
posted @ 2016-05-31 18:16 fibst 阅读(7388) 评论(0) 推荐(0) 编辑
摘要: 在并行系统中并发问题永远不可忽视。尽管PHP语言原生没有提供多线程机制,那并不意味着所有的操作都是线程安全的。尤其是在操作诸如订单、支付等业务系统中,更需要注意操作数据库的并发问题。 接下来我通过一个案例分析一下PHP操作数据库时并发问题的处理问题。 首先,我们有这样一张数据表: 这段代码模拟了一次 阅读全文
posted @ 2016-05-31 16:40 fibst 阅读(871) 评论(0) 推荐(0) 编辑
摘要: 事务是必须满足4个条件(ACID):原子性(Autmic)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability) 原子性(Autmic):事务在执行性,要做到“要么不做,要么全做!”,就是说不允许事务部分得执行。即使因为故障而使事务不能完成,在rollbac 阅读全文
posted @ 2016-05-31 15:22 fibst 阅读(5356) 评论(0) 推荐(0) 编辑
摘要: 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。1、如果能将类的方法定义成static, 阅读全文
posted @ 2016-05-23 14:30 fibst 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 这一次总结和分享用Redis实现分布式锁来完成电商的秒杀功能。先扯点个人观点,之前我看了一篇博文说博客园的文章大部分都是分享代码,博文里强调说分享思路比分享代码更重要(貌似大概是这个意思,若有误请谅解),但我觉得,分享思路固然重要,但有了思路,却没有实现的代码,那会让人觉得很浮夸的,在工作中的程序猿 阅读全文
posted @ 2016-05-18 16:13 fibst 阅读(1375) 评论(0) 推荐(0) 编辑
摘要: swoole安装 安装完PHP后,即可安装swoole扩展。 swoole扩展下载地址:https://github.com/swoole/swoole-src/releases 尽量选择stable版本,alpha版本最好仅用于实验新特性。 解压源码至任意目录,执行如下命令: cd swoole- 阅读全文
posted @ 2016-05-18 11:32 fibst 阅读(384) 评论(0) 推荐(0) 编辑