摘要: 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) 编辑