自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 了不得了

http://blog.csdn.net/v_JULY_v

2012-12-24 16:58:28 275

转载 简单工厂,工厂方法和抽象工厂的区别

http://www.cnblogs.com/cwj-0122/articles/1267954.html看了网络上很多关于设计模式的方法,有的模式看起来相似,但本质还是区别很大的.像简单工厂,工厂方法和抽象工厂就有很明显的区别. 有一个比较好理解的例子,在这跟大家介绍下: 1.如果一个后花园只种蔬菜类,那么就用简单工厂就可以了. 2.如果后花园蔬菜品种繁多.得用工厂方法才可以,把

2012-11-27 11:07:02 251

转载 OOAD

http://blog.csdn.net/yuchen2008/article/details/1478601OOAD什么是OOAD?面向对象的分析与设计,使用面向对象的思想对一个系统的分析与设计UML:什么是UML?统一的建模语言,什么是建模?将客观事物图形化,比如盖楼房,首先要把地基打好统一指的是什么?在计算机领域有很多的图形语言,这样就需要一个标准,UML就是这样

2012-11-27 11:04:34 4930

转载 shared ptr多线程使用注意事项

shared_ptr objects offer the same level of thread safety as built-in types. A shared_ptr instance can be "read " (accessed using only const operations) simultaneously by multiple threads. Different sh

2012-11-16 13:33:35 562

原创 PHP博主

http://www.laruence.com/ 【惠新宸】

2012-11-05 10:58:12 424

转载 MVCC

本文转自http://www.cnblogs.com/wenfeng762/archive/2011/11/06/2238108.html;AUTOCOMMITMysql默认自动提交,可以通过如下命令查看和修改:mysql> SHOW VARIABLES LIKE 'AUTOCOMMIT';+---------------+-------+| Variable_name |

2012-10-31 10:59:07 2217

转载 B树系列

B树       即二叉搜索树:       1.所有非叶子结点至多拥有两个儿子(Left和Right);       2.所有结点存储一个关键字;       3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树;       如:              B树的搜索,从根结点开始,如果查询的关键字与结点的关

2012-10-30 11:37:41 738

原创 关于morden c++ design中的kdl问题(singleton)的解决

kdl问题见:http://www.kuqin.com/design-patterns/20071113/2300.html;问题转为代码描述如下:// =====================================================================================// //       Filename:  kdl.cpp

2012-10-24 12:07:19 482

原创 redis之dict

redis的dict是自动rehash的hash表,为了平衡性能,rehash不是一次做完的,而是分散到每次交互操作来做;typedef struct dictEntry {    void *key;    void *val;    struct dictEntry *next;} dictEntry;typedef struct dictType {

2012-09-11 15:56:51 506

原创 redis之intset

intset结构体:typedef struct intset {    uint32_t encoding;    uint32_t length;    int8_t contents[];} intset;encoding保存编码方式:INTSET_ENC_INT16、INTSET_ENC_INT32和INTSET_ENC_INT64;length保存元素个数

2012-09-11 15:22:49 584

原创 redis之zipmap

zipmap是用连续内存保存key,value对的结构;因为是连续内存保存的,所以每次插入或删除操作都可能会导致重新分配内存;为了缓解重新分配内存压力,为每个value保留一个free字段,表明可用空闲字节数(4);存储结构:"foo""bar""hello""world"zmlen表示key,value对数目,如果该数目大于或等于254,得遍历整个map才能得

2012-09-11 12:07:55 2308

原创 redis之ziplist

本文剖析redis的ziplist的实现。ziplist是一个存储高效的双链表,存储的元素类型有字符串和整数;虽然存储高效,但每次插入或删除ziplist中的元素都会引起重新分配内存,所以,ziplist作为大型只读表非常高效,频繁的插入或删除ziplist不太合适;ziplist的内部结构:zlbytes是一个unsigned int数字,表示整个ziplist占用的

2012-09-10 17:20:12 818

原创 redis之VM

aeCreateFileEvent(server.el, server.io_ready_pipe_read, AE_READABLE, vmThreadedIOCompletedJob, NULL)主线程和后台线程通过pipe进行通信:    后台线程每处理完一个job,就会给server.io_ready_pipe_write发送一个字节数据;    主线程监听server

2012-09-07 10:53:29 1994

原创 redis之bio

bio开线程来执行close和fdatasync操作;采用的是job list方式(每个线程一个job list,线程从job list取job执行),也就是生产者-消费者模型;

2012-09-06 16:43:44 428

原创 redis之readQueryFromClient

void readQueryFromClient(aeEventLoop *el, int fd, void *privdata, int mask)读数据到redisClient::querybuf;读到数据超过client_max_querybuf_len时,直接freeClient(c);processInputBuffer(c);1、输入以*开头,则reqtype为REDI

2012-09-06 15:09:54 1810

原创 redis之acceptTcpHandler

aeCreateTimeEvent(server.el, 1, serverCron, NULL, NULL);aeCreateFileEvent(server.el,server.ipfd,AE_READABLE,acceptTcpHandler,NULL);acceptTcpHandler每accept到一个clientfd,会为该fd调用createClient(有maxclient

2012-09-06 14:46:38 1059

原创 redis 之网络模型

#define AE_SETSIZE (1024*10)    /* Max number of fd supported */redis的网络模型处理的fd必须小于2048(在events结构体中放不下);/* State of an event based program */ typedef struct aeEventLoop {    int maxfd;    lo

2012-09-06 12:35:53 3145

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除