2012年8月28日
摘要: What's memcached ?memcached是一个以key-value的形式缓存数据的缓存系统。通过将数据缓存到内存中,从而提高数据的获取速度。memcached以key-value的形式来保存数据,你可以为你每一段数据关联一个key,然后以后可以通过这个key获取这段数据。 memcached是一个库还是什么?memcached其实是一个单独的网络服务器程序。它的网络底层基于libevent,你可以将其运行在网络中的一台服务器上,通过网络,在遵循memcached的协议的基础上与memcached服务器进行通信。 What do we want to wrap ? 我们需要 阅读全文
posted @ 2012-08-28 01:56 davidkam 阅读(313) 评论(0) 推荐(0) 编辑
摘要: 我对于Memcached的接触,还是在去年看了CSDN的一系列国外大型网站架构设计而开始的。最初的时候只是简单的封装了Memcached Java版的客户端,主要是对于配置的简化以及Memcached多点备份作了一些工作,然后就作为ASF的组件一部分提供给其他Team使用。其实看过Memcached Java客户端代码的人就会了解其实客户端的事情很简单,就是要有一套高性能的Socket通信框架以及对Memcached的私有协议实现的接口,自己去做这些事情也是很简单的,不过既然有可以满足自己需求的开源部分,那么就去实现自己需要的但没有实现的。这里我用的是Whalin的客户端版本,这里为什么还要提 阅读全文
posted @ 2012-08-28 01:54 davidkam 阅读(221) 评论(0) 推荐(0) 编辑
摘要: Memcached客户端可以设多个memcached服务器,它是如何把数据分发到各个服务器上,而使各个服务器负载平衡的呢?可以看看.net版中的客户端中的源码,就可以知道 先看代码:1///2///ReturnsappropriateSockIOobjectgiven3///stringcachekeyandoptionalhashcode.4///5///TrystogetSockIOfrompool.Failsover6///toadditionalpoolsineventofserverfailure.7///8///hashcodeforcachekey9///ifnotnull,th 阅读全文
posted @ 2012-08-28 01:53 davidkam 阅读(471) 评论(0) 推荐(0) 编辑
摘要: http://kb.cnblogs.com/page/69483/ 阅读全文
posted @ 2012-08-28 01:48 davidkam 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 在Web应用程序中,数据通常保存在RDBMS中,应用服务器从数据库中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负载加重、数据库响应变慢、网站显示延迟等重大影响。为了缓解数据库的压力,提升Web应用程序的响应速度,人们提出了Web缓存的概念,这里缓存的概念不同于计算机硬盘控制器上的一块内存芯片。Web缓存位于Web服务器(1 个或多个,内容源服务器)和客户端之间(1个或多个),缓存会根据进来的请求保存输出内容的副本,例如html页面, 图片,文件(统称为副本),然后,当下一个请求来到的时候,如果是相同的URL,缓存直接使用副本响应访问请求,而不是向内容源服务器 阅读全文
posted @ 2012-08-28 01:45 davidkam 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 转载请标明出处: http://www.yaosansi.com/原文:http://www.yaosansi.com/post/1396.htmlMemcached官方:http://danga.com/memcached/关于Memcached的介绍请参考:Memcached深度分析下载Windows的Server端下载地址:http://code.jellycan.com/memcached/安装Memcache Server(也可以不安装直接启动)1. 下载memcached的windows稳定版,解压放某个盘下面,比如在c:\memcached2. 在CMD下输入 "c:\ 阅读全文
posted @ 2012-08-28 01:42 davidkam 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 或许你还没有用到过分布式缓存,在web集群的情况下,它可以很好的让一部分常用数据常驻服务器内存而不用担心各台web不同步。下面稍微介绍一下beitmemcached对于.net的支持,官方参考http://code.google.com/p/beitmemcached/一个完整的操作步骤:1、点击上面页面的downloads,把Memcached_1.2.5.zip 和BeITMemcached_source_2008_05_31.zip两个压缩包下在下来。2、解压Memcached_1.2.5.zip ,它是memcached的服务器端。3、把Memcached_1.2.5复制到你指定的做为 阅读全文
posted @ 2012-08-28 01:41 davidkam 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 原文链接早上接到一个任务,需要对Linux服务器的Memcached的update操作进行性能测试,我发现我是一个典型的“手里拿着锤子,就把所有问题都当成钉子”的人。我第一个念头就是,上Memcached的官网找.NET的客户端。最后在Codeplex上找到了一个叫Memcached Providers的客户端程序,很小,218K,里面就3个DLL,一个是Memcached Providers本身的DLL,还有一个是Enyim.Caching,Enyim.Caching也是一个.NET平台上的Memcached客户端,最后就是著名的log4net。Memcached Providers的配置很 阅读全文
posted @ 2012-08-28 01:39 davidkam 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 今天我们来谈谈一个网站一般是如何一步步来构建起系统架构的,虽然我们希望网站一开始就能有一个很好的架构,但马克思告诉我们事 物是在发展中不断前进的,网站架构也是随着业务的扩大、用户的需求不断完善的,下面是一个网站架构逐步发展的基本过程,读完后,请思考,你现在在哪个阶段。架构演变第一步:物理分离WebServer和数据库最开始,由于某些想法,于是在互联网上搭建了一个网站,这个时候甚至有可能主机都是租借的,但由于这篇文章我们只关注架构的演变历程,因此就假设这个时候已经是托管了一台主机,并且有一定的带宽了。这个时候由于网站具备了一定的特色,吸引了部分人访问,逐渐你发现系统的压力越来越高,响应速度越来越 阅读全文
posted @ 2012-08-28 01:27 davidkam 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 在上一篇文章,我们讲了,为什么要使用memched做为缓存服务器(没看的同学请点这里)。 下面让我们以memcached-1.2.1-win32版本的服务组件(安装后是以一个windows服务做daemon)和 C#API(Enyim.Caching)为基础,做一个"Hello world"级的程序,让我们真正感受到memcached就在我们身边。后一的文章,我们还讲memcached的核心部分(根据key来hash存取 数据,缓存数据在server端的内存存储结构)和一些好的案例。 下面的实例实现的功能很简单,根据key来存取一个object对象(要支持Serializa 阅读全文
posted @ 2012-08-28 01:18 davidkam 阅读(225) 评论(0) 推荐(0) 编辑