摘要: 个人认为,从信息论的角度看,犹如TopLanguage所讨论的那样,这是在不可靠信道中传输所必须的。传输控制协议(Transmission Control Protocol, TCP)是一种面向连接的、可靠的、基于字节流的运输层(Transport layer)通信协议。是专门为了在不可靠的互联网络上提供一个可靠的端到端字节流而设计的。互联网络与单个网络不同,因为互联网络的不同部分可能有着截然不同的拓扑、带宽、延迟、分组大小和其他参数。TCP的设计目标是能够动态的适应互联网络的这些特性,而且当面对多种失败的时候仍然能够健壮。每一次TCP连接都需要三个阶段:连接建立、数据传送和连接释放。“三次握 阅读全文
posted @ 2012-05-17 17:50 inThink 阅读(417) 评论(0) 推荐(0) 编辑
摘要: Redis常用数据类型Redis最为常用的数据类型主要有以下五种:StringHashListSetSorted set在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的:首先Redis内部使用一个redisObject对象来表示所有的key和value,redisObject最主要的信息如上图所示:type代表一个value对象具体是何种数据类型,encoding是不同数据类型在redis内部的存储方式,比如:type=string代表value存储的是一个普通字符串,那么对应的encoding可以是raw或者是int,如果是int则代表 阅读全文
posted @ 2011-08-22 14:17 inThink 阅读(286) 评论(0) 推荐(0) 编辑
摘要: I have been thinking abit recently how to manage dependencies and how to structure Zend Frameworkbased applications to make the code less coupled, more testable and lessdependent on the global scope.I don't mean to benegative but I am not too happy about the web application structure that mostar 阅读全文
posted @ 2011-08-01 11:24 inThink 阅读(1035) 评论(0) 推荐(0) 编辑
摘要: 传统MySQL+ Memcached架构遇到的问题实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。Memcached与MySQL数据库数据一致性问题。Memcached数据命中率低或down机,大量访问直接穿透到DB,MySQL无法支撑。跨机房cache同步问题。众多NoSQL百花齐放,如何选择最近几年,业界不断涌现出很多各种各样的NoSQL产品 阅读全文
posted @ 2011-07-25 16:13 inThink 阅读(601) 评论(0) 推荐(0) 编辑
摘要: 所谓BigPipe,指的是Facebook开发的用来改善客户端响应速度的技术。本质上讲,其实它并不是新事物,原理上等同于Yahoo在Best Practices for Speeding Up Your Web Site里提出的Flush the Buffer Early,不过BigPipe的实现更灵活,所以有必要了解一二。我们平常浏览网页时的体验通常是串行的:浏览器发起请求,服务器收到后渲染页面,在此期间,浏览器除了等待别无选择,演示代码如下:<?phpsleep(1);$header = 'header';sleep(1);$content = 'conten 阅读全文
posted @ 2011-07-21 09:41 inThink 阅读(619) 评论(1) 推荐(0) 编辑