阿弥陀佛
发布时间:2013-11-30 19:44:51
memcached允许用户设置数据的过期时间,那么memcached是如何管理过期数据的呢?原理很简单:首先通过hash表查找该数据,然后判断该数据是否过期。如果过期,那么就将数据删除,否则将数据交给用户。系统中有一个定时器事件。点击(此处)折叠或打开/* libevent uses a monotonic clock when .........【阅读全文】
发布时间:2013-11-30 11:10:14
这两个函数一直都没有弄清楚,后来查了一下UNIX环境高级编程。里面真的是非常的全啊,很多对UNIX不解的问题,这里面都给出了解释。该函数是用于在一次函数调用中将读、写多个非连续缓冲区,叫做scatter read 和 gather write。iovec的结构体如下点击(此处)折叠或打开struct iovec{.........【阅读全文】
发布时间:2013-11-22 10:43:31
本文结合 HAProxy 的代码,分析了按位或(bitwise-OR)和逻辑或(logical-OR)的性能比较。......【阅读全文】
发布时间:2013-11-19 15:10:22
对于只是实现简单功能的c语言程序,不用考虑代码reorder问题。现在才发现原来在编译程序的时候,通过gcc -O0来避免编译时,编译器将不会对指令重排。但是这样仍然无法避免在运行的时候CPU对指令进行重排。所以使用内存屏障是非常重要的,也是无法避免的。这里我有一个疑问,是否在java中也会遇到指令重排的问题呢?上面.........【阅读全文】
发布时间:2013-11-14 16:48:21
memcached的通信机制是有一个主线程负责监听来的请求,然后main thread负责将得到的请求分发到各个worker thread中。每个worker thread维护一个请求队列。主线程通过如下方式与worker 线程交互:与线程相关的核心代码都在thread.c当中。点击(此处)折叠或打开/* * Dispa.........【阅读全文】