摘要:
Redis hash是一个string类型的field和value的映射表。它的添加、删除操作都是O(1)(平均)。hash特别适用于存储对象。相较于对象的每个字段存在单个string类型。将一个对象存储在hash类型中会占用更小的内存,并且可以更方便的存取整个对象。hset:设置hash fiel... 阅读全文
摘要:
Strings类型String是最简单的类型,一个Key对应一个Value,String类型是二进制安全的,可以包含任何数据,比如jpg图片或序列化的对象。Strings类型的操作: Set:设置Key对应的值为string类型的Value。如果多次对同一个Key进行Set操作,值会被覆盖。如:12... 阅读全文
摘要:
对于分布式缓存,之前公司项目中只使用了MemCached,使用比较方便,有现成的C#版本组件。如今用Redis的公司有很多,所以打算了解一下Redis。Redis的官网地址:http://redis.io Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Ke... 阅读全文
摘要:
Entity Framework的全称是ADO.NET Entity Framework,是微软开发的基于ADO.NET的ORM(Object/Relational Mapping)框架。 Entity Framework的主要特点: 1. 支持多种数据库(Microsoft SQL Serve... 阅读全文
摘要:
SOA是英文Service-Oriented Architecture,即面向服务架构的缩写.SOA是一种范式,目的是增强灵活性。SOA很适宜处理复杂的分布式系统。SOA方法接受异质(不同的平台,不同的编程语言,不同的中间件等)。SOA正是依靠对异质性的承认和支持来处理大系统的。SOA也可以被视为一... 阅读全文
摘要:
一、越来越多的并发连接数现在的Web系统面对的并发连接数在近几年呈现指数增长,高并发成为了一种常态,给Web系统带来不小的挑战。以最简单粗暴的方式解决,就是增加Web系统的机器和升级硬件配置。虽然现在的硬件越来越便宜,但是一味地通过增加机器来解决并发量的增长,成本是非常高昂的。结合技术优化方案,才是... 阅读全文
摘要:
当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能压力带来问题,我们需要在Web系统架构层面搭建多个层次的缓存机制。在不同的压力阶段,我们会遇到不同的问题,通过搭建不同的服务和架构来解决。W... 阅读全文
摘要:
电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因?一、大... 阅读全文
摘要:
IEnumerator:是一个真正的集合访问器,提供在普通集合中遍历的接口,有Current,MoveNext(),Reset(),其中Current返回的是object类型。IEnumerable: 暴露一个IEnumerator(只包含一个抽象的方法GetEnumerator(),该方法返回一个... 阅读全文
摘要:
下图是我用IE的开发人员工具截取的一个Http Request请求的Header.下图是我用IE的开发人员工具截取的一个Http Response的Header.header常用指令header分为三部分:第一部分为HTTP协议的版本(HTTP-Version);第二部分为状态代码(Status);... 阅读全文
摘要:
HTTP协议介绍HTTP协议(Hyper Text Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先... 阅读全文
摘要:
Web运行原理简单地说是“浏览器发送一个HTTP Request到Web服务器上,Web服务器处理完后将结果(HTTP Response)返回给浏览器”。通常测试一个web api是否正确,可以通过自己coding方式模拟向Web服务器发送Http Request(设置好各参数),然后再通过捕获We... 阅读全文
摘要:
转载地址:写得很不错的fildder教程 http://kb.cnblogs.com/page/130367/Fiddler的基本介绍 Fiddler的官方网站: www.fiddler2.com Fiddler的官方帮助:http://docs.telerik.com/fiddler/knowl... 阅读全文
摘要:
性能测试---并发用户并发用户数 大家都知道我们的性能测试就通过工具模拟多用户对系统进行操作,对系统造成压力,来验证系统的性能(不太标准的解释)。好多人也简单的把性能测试当成并 发测试。那么这个“多用户”和“同时”两个因素缺一不可。只多用户不同时,很难对系统构成压力;没有多个用户,同时的概念也就... 阅读全文
摘要:
介绍DDD概念Eric Evans的“Domain-Driven Design领域驱动设计”简称 DDD,它是一套综合软件系统分析和设计的面向对象建模方法,或者可称为MDD模型驱动方法的一种,区别于MDA模型驱动架构。它是一种分析设计建模方法,它倡导统一语言,提出了实体和值对象以及聚合根等概念,借助... 阅读全文
摘要:
1、背景 1.1Web程序中的接口 1.1.1 典型的Web设计架构 web是实现了基于网络通信的浏览器客户端与远程服务器进行交互的应用,通常包括两部分:web服务器和web客户端。web客户端的应用有html,JavaScript,ajax,flash等;服务器端的应用非常丰富,比如java... 阅读全文
摘要:
前言 大家应该都知道Memcached要想实现分布式只能在客户端来完成,目前比较流行的是通过一致性hash算法来实现.常规的方法是将 server的hash值与server的总台数进行求余,即hash%N,这种方法的弊端是当增减服务器时,将会有较多的缓存需要被重新分配且会造成缓 存分配不均匀的情况... 阅读全文
摘要:
memcached是怎么工作的? Memcached的神奇来自两阶段哈希(two-stage hash)。Memcached就像一个巨大的、存储了很多对的哈希表。通过key,可以存储或查询任意的数据。 客户端可以把数据存储在多台memcached上。当查询数据时,客户端首先参考节点列表计算出ke... 阅读全文
摘要:
memcached简介1、memcached是一个免费开源的、高性能的,具有分布式内存对象的缓存系统。memcached通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。2、它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提... 阅读全文
摘要:
1. DataSet和DataReader的区别?DataReader:和数据库处于一直连接状态。只读只能向前读取,一次只能读取一行信息。DataReader每次只在内存中加载一条数据,内存占用少,高效率!Dateset:和数据库是断开的离线状态。返回都是数据集,可以对其中的数据做任意操作,Data... 阅读全文