在python web应用上,感觉gevent, celery, redis都有相同或相似的地方啊。 比如gevent的作用就是实现异步i/o操作,但是celery貌似就是做这个的? 同样的,redis也有队列,好像也能解决异步的问题?
所以,我想问的是 1. 这三个具体有什么相似点和区别呢? 2. 这三个在python web中各自扮演什么角色? 3. 在网站架构方面,这三个分别放在那里呢?
谢谢各位的解答~
gevent python Redis celery
gevent是个网络框架,celery是一个异步任务队列,redis是内存数据库 gevent就是构建整个应用的,对于一些可能耗时比较长会阻塞的任务(比如发邮件)可以扔到celery里去异步执行,但是celery需要一个收发信息的解决方案,所以需要一个broker。redis可以用来做缓存,可以用来做数据库,可以用作celery的broker。
gevent 是server框架。celery是异步处理任务的。 redis可以作为celery的broker
用celery和redis构建消息队列的问题
如何用redis和gevent实现一个实时消息系统
python连接redis或者memcached有必要异步?
如何基于 Celery 做爬虫但遇到些坑,如重复执行了一个任务、 db 对象内数据有错误
gevent.pywsgi 与Werkzeug实现的wsgi 有区别么
python 'type' object has no attribute '__getite...