swoole的协程是能达到异步IO的性能,但相比异步IO和多线程来讲,swoole协程是以同步编码方式来实现,而非回调方式。
问题:
如果现在的业务逻辑是同步的(例如:先查询Mysql获取某条记录的ID,再根据此ID去查询redis的某条记录),那么能否使用swoole协程实现呢?
PS :
据我所知,swoole协程虽然是同步编码风格,但是其实是类似异步IO方式并发执行,所以很疑惑同步逻辑能否实现?,异步IO是在回调函数中又套回调函数,不好理解
3 回答
![?](http://img1.sycdn.imooc.com/545850200001359c02200220-100-100.jpg)
杨__羊羊
TA贡献1943条经验 获得超7个赞
可以的,同步的业务逻辑,异步执行的IO是不冲突的。
但是其实是类似异步IO方式并发执行
同一段业务逻辑里,有数据依赖的IO是不会并发执行的,但是不同业务逻辑里没数据依赖的IO才会并发执行。
例如:
先查询Mysql获取某条记录的ID,再根据此ID去查询redis的某条记录
必须要先查Mysql再查Redis,但是并发处理多个这样的请求时,多个Mysql查询就可以并发,多个Redis也可以并发。
- 3 回答
- 0 关注
- 460 浏览
添加回答
举报
0/150
提交
取消