下半年利用空余时间研究和分析了部分Redis源码,本文从网络模型、数据结构和内存管理、持久化和多机协作四个角度对redis的设计思路进行了分析,若
分类:
其他好文 时间:
2017-03-24 20:04:37
阅读次数:
213
在mysql主从同步时经常会用到Xtra, XtraBackup可以说是一个相对完美的免费开源数据备份工具,支持在线无锁表同步复制和可并行高效率的安全备份恢复机制相比mysqldump来说优势较大好处多,在RHEL6中安装XtraBackup时会发生缺少依赖包的现象 本案例针对Xtra缺少依赖包的情 ...
分类:
其他好文 时间:
2017-03-21 23:59:21
阅读次数:
1083
1、Python里面一般用gevent实现协程协程, 而协程就是在等待的时候切换去做别的操作,相当于将一个线程分块,充分利用资源 (1)低级版协程的实现 结果如图 这里属于手动切换 (2)高级版协程 执行结果如图 ...
分类:
编程语言 时间:
2017-03-03 01:32:53
阅读次数:
192
看起来memcache也是用了libevent,然后用了多线程,看起来是accept之后,把socket发给一个worker thread,然后这个thread里面的event loop再接着处理。 http://blog.csdn.net/wallwind/article/details/3927 ...
分类:
系统相关 时间:
2017-02-22 19:45:39
阅读次数:
209
协程诞生解决的是低速IO和高速的CPU的协调问题,解决这类问题主要有三个有效途径: 异步非阻塞网络编程(libevent、libev、redis、Nginx、memcached这类) 协程(golang、gevent) “轻量级线程”,相当于是在语言层面做抽象(Erlang) 对比之下协程的编程难度 ...
分类:
其他好文 时间:
2017-01-22 23:37:14
阅读次数:
321
gunicorn支持不同的worker类型,同步或者异步,异步的话包括基于gevent、基于eventlet、基于Aiohttp(python版本需要大于3.3),也有多线程的版本。下面是gunicorn当前版本(19.6.0)支持的Worker类型: sync eventlet - Require ...
分类:
其他好文 时间:
2017-01-20 17:22:55
阅读次数:
331
import gevent def fun(): print('----------') gevent.sleep(0) print('++++++++') def bar(): print('!!!!!!!!!!!') gevent.sleep(0) print('^^^^^^^^^^^^^') ... ...
分类:
其他好文 时间:
2017-01-15 19:30:03
阅读次数:
162
之前有一篇文章描述过一些对比: http://www.cnblogs.com/charlesblc/p/6078029.html 这里在代码和应用方面再说一下。 看一下两边的Helloworld基本就了解个大概。 libevent的hello world 上面Libevent最基本的事件驱动器是 e ...
分类:
其他好文 时间:
2017-01-15 10:34:48
阅读次数:
318
原创,请注明出处:http://www.cnblogs.com/stonehat/p/6286235.html Libevent 是一个事件驱动框架, 不能仅说他是一个网络库。 notejs就是采用与libevent类似的libev来做核心驱动的。 Libevent支持三种事件:io事件、信号事件、 ...
分类:
其他好文 时间:
2017-01-14 22:57:56
阅读次数:
202