swoole的协程是能达到异步IO的性能,但相比异步IO和多线程来讲,swoole协程是以同步编码方式来实现,而非回调方式。
问题:
如果现在的业务逻辑是同步的(例如:先查询Mysql获取某条记录的ID,再根据此ID去查询redis的某条记录
),那么能否使用swoole协程实现呢?
PS :
据我所知,swoole协程虽然是同步编码风格,但是其实是类似异步IO方式并发执行,所以很疑惑同步逻辑能否实现?,异步IO是在回调函数中又套回调函数,不好理解
swoole的协程是能达到异步IO的性能,但相比异步IO和多线程来讲,swoole协程是以同步编码方式来实现,而非回调方式。
如果现在的业务逻辑是同步的(例如:先查询Mysql获取某条记录的ID,再根据此ID去查询redis的某条记录
),那么能否使用swoole协程实现呢?
PS :
据我所知,swoole协程虽然是同步编码风格,但是其实是类似异步IO方式并发执行,所以很疑惑同步逻辑能否实现?,异步IO是在回调函数中又套回调函数,不好理解
1 回答4.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答589 阅读✓ 已解决
791 阅读
可以的,同步的业务逻辑,异步执行的IO是不冲突的。
同一段业务逻辑里,有数据依赖的IO是不会并发执行的,但是不同业务逻辑里没数据依赖的IO才会并发执行。
例如:
必须要先查Mysql再查Redis,但是并发处理多个这样的请求时,多个Mysql查询就可以并发,多个Redis也可以并发。