在python web应用上,感觉gevent, celery, redis都有相同或相似的地方啊。
比如gevent的作用就是实现异步i/o操作,但是celery貌似就是做这个的?
同样的,redis也有队列,好像也能解决异步的问题?
所以,我想问的是
1. 这三个具体有什么相似点和区别呢?
2. 这三个在python web中各自扮演什么角色?
3. 在网站架构方面,这三个分别放在那里呢?
谢谢各位的解答~
在python web应用上,感觉gevent, celery, redis都有相同或相似的地方啊。
比如gevent的作用就是实现异步i/o操作,但是celery貌似就是做这个的?
同样的,redis也有队列,好像也能解决异步的问题?
所以,我想问的是
1. 这三个具体有什么相似点和区别呢?
2. 这三个在python web中各自扮演什么角色?
3. 在网站架构方面,这三个分别放在那里呢?
谢谢各位的解答~
gevent是个网络框架,celery是一个异步任务队列,redis是内存数据库
gevent就是构建整个应用的,对于一些可能耗时比较长会阻塞的任务(比如发邮件)可以扔到celery里去异步执行,但是celery需要一个收发信息的解决方案,所以需要一个broker。redis可以用来做缓存,可以用来做数据库,可以用作celery的broker。
4 回答4.4k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
gevent 是server框架。celery是异步处理任务的。 redis可以作为celery的broker