知乎自己在底层造了非常多的轮子,而且也在服务器部署方面和数据获取方面广泛使用 gevent 来提高并发获取数据的能力。现在开始我将结合实际使用与测试慢慢完善自己对 gevent 更全面的使用和扫盲。 在对 gevent loop 的使用上,gevent tutorial 介绍得非常敷衍,以至于完全不 ...
分类:
其他好文 时间:
2017-12-15 20:09:44
阅读次数:
169
php libevent扩展具有很强大的功能。以下摘自百度百科: Libevent 是一个用C语言编写的、轻量级的开源高性能网络库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大; 源代码相当精炼、易读;跨平台,支持 Windows ...
分类:
Web程序 时间:
2017-11-07 14:31:41
阅读次数:
301
协程,又称微线程,纤程。英文名Coroutine。gevent是一个基于协程的Python网络库 协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用。 子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回, ...
分类:
其他好文 时间:
2017-11-07 12:12:53
阅读次数:
119
本节内容 Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitMQ队列 Redis\Memcached缓存 Paramiko SSH Twsited网络框架 协程(单线程下实现多并发的效果) 协程,又称微线程,纤程。英文名Coro ...
分类:
编程语言 时间:
2017-11-07 01:20:11
阅读次数:
446
Memcached是一个内存数据库,数据以key/value键值对的形式保存在服务器预先分配的内存区块中,由于Memcached服务自身没有对缓存的数据进行持久化存储的设计,因此,在服务器端的Memcached进程重启之后,数据就会丢失。且当内存中缓存的数据容量达到启动时设定的内存值时,也会自动使用 ...
分类:
其他好文 时间:
2017-11-05 21:16:36
阅读次数:
156
Gevent a. 进程 线程 协程 b. 阻塞 非阻塞 ...
分类:
其他好文 时间:
2017-11-04 11:10:07
阅读次数:
180
#-*- coding=utf-8 -*- import requests from multiprocessing import Process import gevent from gevent import monkey; monkey.patch_all() import sys reloa... ...
分类:
系统相关 时间:
2017-10-30 23:10:49
阅读次数:
259
from urllib import requestimport gevent,timefrom gevent import monkeymonkey.patch_all() def f(url): print('GET: %s' % url) resp = request.urlopen(url) ...
分类:
编程语言 时间:
2017-10-29 17:44:13
阅读次数:
220
import geventdef f1(): print("print in f1") gevent.sleep(2) print("switch to foo again")def f2(): print("print in f2") gevent.sleep(1) print("switch t ...
分类:
编程语言 时间:
2017-10-29 12:50:18
阅读次数:
154
thrift cpp环境搭建: 1、 安装boost_1_53_0,注意,使用vs2010版本时,使用二进制的boost安装版本,生成的lib有可能是,在后续操作会出问题。在源码目录中,运行bootstrap.dat,然后会生成b2.exe文件,该文件可以编译boost需要的库,生成文件在boost ...
分类:
编程语言 时间:
2017-10-27 01:45:40
阅读次数:
412