摘要: 1:前言Socket通信中,客户端与服务器之间传递的是字节流。而在现实的应用中我们需要传递有一定含义的结构。如何传递有意义的结构那?别慌本文就从这里给您做个简单介绍。首先我们来简单认识一下今天的主角:JSON.NET和ProtoBuf2:JSON.NET与ProtoBuf这两个都是开源的项目,项目的地址如下JSON.NET:http://json.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29756ProtoBuf:http://code.google.com/p/protobuf/接下来我们看看两个项目在序列化对象时都是怎么做的。 阅读全文
posted @ 2011-04-21 16:41 awp110 阅读(387) 评论(0) 推荐(0) 编辑
摘要: 测试结果:ProtoBuf Length:115BinaryFormatter Length:1177XmlSerializer Length:814xml length:825做了一个各种序列化方案的压缩比例测试,可以看到protobuf序列化后的大小是xml原始格式的8分之一,是xml序列化后的8分之一,是二进制序列化的10分之一,总体看来ProtoBuf的优势还是很明显的,不过ProtoBuf.net不是google官方提供的,也许和其它平台不兼容,但如果做.NET服务端应用,两边都是.NET,还是可以适用的,即使有一边不是.NET,反正是开源的东西,协议也有,也可以自己实现相应语言的兼 阅读全文
posted @ 2011-04-21 15:33 awp110 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 很多phper不知道如何在Windows下搭建Memcache的开发调试环境,最近个人也在研究Memcache,记录下自己安装搭建的过程。其实我开始研究Memcache的时候并不知道居然还有memcached for Win32这个鸟东西,害得我在CnetOS下折腾1天才搞定,今天突然发现Windows下的Memcache进行开发调试完全没有问题,所以写篇Memcache的文档分享给大家。Windows下的Memcache安装:1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached2. 在终端(也即cmd命令界面)下输入 ‘c:\memcached\ 阅读全文
posted @ 2011-04-21 14:41 awp110 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 缘起: 在数据驱动的web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载。缓存是解决这个问题的好办法。但是ASP.NET中的虽然已经可以实现对页面局部进行缓存,但还是不够灵活。此时Memcached或许是你想要的。Memcached是什么?Memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。Memcached能缓存什么?通过在内存里维护一个统一的巨大的hash表,Memcached能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。Memcached快么 阅读全文
posted @ 2011-04-21 14:40 awp110 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 写在前头偶然之间看到本文的中英文对照版本,感觉看起来不是很方便,于是花费了半个小时的时间,仔细整理出了独立的中文版本,并记录下来。协议memcached 的客户端使用TCP链接 与 服务器通讯。(UDP接口也同样有效,参考后文的 “UDP协议” )一个运行中的memcached服务器监视一些(可设置)端口。客户端连接这些端口,发送命令到服务器,读取回应,最后关闭连接。结束会话不需要发送任何命令。当不再需memcached服务时,要客户端可以在任何时候关闭连接。需要注意的是,鼓励客户端缓存这些连接,而不是每次需要存取数据时都重新打开连接。这是因为memcached 被特意设计成及时开启很多连接也 阅读全文
posted @ 2011-04-21 14:40 awp110 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 【IT168 技术文档】在Web应用程序中,数据通常保存在RDBMS中,应用服务器从数据库中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负载加重、数据库响应变慢、网站显示延迟等重大影响。为了缓解数据库的压力,提升Web应用程序的响应速度,人们提出了Web缓存的概念,这里缓存的概念不同于计算机硬盘控制器上的一块内存芯片。Web缓存位于Web服务器(1个或多个,内容源服务器)和客户端之间(1个或多个),缓存会根据进来的请求保存输出内容的副本,例如html页面, 图片,文件(统称为副本),然后,当下一个请求来到的时候,如果是相同的URL,缓存直接使用副本响应访问请求 阅读全文
posted @ 2011-04-21 14:38 awp110 阅读(277) 评论(0) 推荐(0) 编辑
摘要: .NET Framework的核心是其运行库的执行环境 公共语言运行库(CLR)。在CLR的控制下运行的代码称为托管代码。在CLR执行开发的源代码之前,需要编译它们。编译分为2个阶段:(1)把源代码编译为中间语言(IL)(2)CLR把IL编译为平台专用的代码NET平台中代码的物理单元是可移植可执行程序(protable executable,PE)格式,编译程序和库时,和平常一样生成EXE与DLL文件,但在.NET框架下,任何可执行程序项目都链接到公共语言运行库,并由它代理编译和执行。.NET中程序编译的最主要部分是汇编(assembly),汇编包括一个manifest,它是一组元数据,标识汇 阅读全文
posted @ 2011-04-21 10:19 awp110 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 导读:JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式。在网站应用中使用JSON的场景越来越多,本文介绍 ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍,ASP.NET如何序列化和反序列化的处理,在序列化和反序列化对日期时间、集合、字典的处理。一、JSON简介JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式。JSON是“名值对”的集合。结构由大括号'{}',中括号'[]',逗号',',冒号':',双引号 阅读全文
posted @ 2011-04-21 09:00 awp110 阅读(238) 评论(0) 推荐(0) 编辑