201411架构下午真题

第 1 题

请详细阅读以下关于网络设备管理系统架构设计的说明,在答题纸上回答问题1和问题2。
【说明】
某软件公司欲开发一个网络设备管理系统,对管理区域内的网络设备(如路由器和交换机等)进行远程监视和控制。公司的系统分析师首先对系统进行了需求分析,识别出如下3项核心需求:
(a)目前需要管理的网络设备确定为10类20种,未来还将有新类别的网络设备纳入到该设备管理系统中;
(b)不同类别的网络设备,监视和控制的内容差异较大;同一类网络设备,监视和控制的内容相似,但不同厂商的实现方式(包括控制接口格式、编程语言等)差异较大;
(c)网络管理员能够在一个统一的终端之上实现对这些网络设备的可视化呈现和管理操作。
针对上述需求,公司研发部门的架构师对网络设备管理系统的架构进行了分析与设计,架构师王工认为该系统可以采用MVC架构风格实现,即对每种网络设备设计一个监控组件,组件通过调用网络设备厂商内置的编程接口对监控指令进行接收和处理;系统管理员通过管理模块向监控组件发送监控指令,对网络设备进行远程管理;网络状态、监控结果等信息会在控制终端上进行展示。针对不同网络设备的差异,王工认为可以对当前的20种网络设备接口进行调研与梳理,然后通过定义统一操作接口屏蔽设备差异。李工同意王工提出的MVC架构风格和定义统一操作接口的思路,但考虑到未来还会有新类别的网络设备接入,认为还需要采用扩展接口的方式支持系统开发人员扩展或修改现有操作接口。公司组织专家进行架构评审,最终同意了王工的方案和李工的改进意见。

【问题1】(10分)
    请用300字以内的文字解释什么是MVC架构风格以及其中的组件交互关系,并根据题干描述,指出该系统中的M、V、C分别对应什么。
【问题2】(15分)
    扩展接口模式结构通常包含四个角色:基础接口、组件、扩展接口和客户端,它们之间的关系如图1-1所示。
  
图1-1 扩展接口模式角色关系
    其中每个扩展接口需要通过扩展基础接口获得基本操作能力,然后加入自己特有的操作接口,并通过设置全局唯一接口ID对自身接口进行标识;每个具体的组件需要实现扩展接口完成实际操作;客户端不与组件直接交互,而需要通过与扩展接口交互提出调用请求,扩展接口根据请求查找并选择合适的实现组件响应客户端请求。请根据上图所示和题干描述,指出扩展接口模式结构中的四个角色分别对应网络设备管理系统的哪些部分;并以客户端发起调用操作这一场景为例,填写表1-1中的(1)~(5)。

答案与解析

  • 试题难度:较难
  • 知识点:案例分析>软件架构风格与架构设计
  • 试题答案:
    【问题1】(10分)
    MVC架构风格:用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
    MVC架构将整个软件系统划分为模型、视图和控制器3个部分。模型负责维护并保存具有持久性的业务数据,实现业务处理功能,并将业务数据的变化情况及时通知视图;视图负责呈现模型中包含的业务数据,响应模型变化通知,更新呈现形式,并向控制器传递用户的界面动作;控制器负责将用户的界面动作映射为模型中的业务处理功能并实际调用之,然后根据模型返回的业务处理结果选择新的视图。
    在本题中:
    M:监控组件 V:控制终端 C:管理模块。
    【问题2】(15分)
    基础接口:统一操作接口;
    组件:监控组件
    扩展接口:新网络设备的操作接口
    客户端:控制终端
    (1)扩展接口
    (2)组件
    (3)操作接口
    (4)接口ID
    (5)扩展接口
  • 试题解析:本题主要考查MVC架构风格的定义以及扩展接口模式结构的分析与理解。
    【问题1】
    MVC架构风格最初是Smalltalk-80中用来构建用户界面时采用的架构设计风格。其中M代表模式(Model),V代表视图(View),C代表控制器(Controller)。在该风格中,模型表示待展示的对象,视图表示模型的展示,控制器负责把用户的动作转成针对模型的操作。模型通过更新视图的数据来反映自身的变化。
    在本系统中,模型(M)代表监控组件、视图(V)代表控制终端、控制器(C)代表管理模块。
    【问题2】
    扩展接口模式结构通常包含四个角色:基础接口、组件、扩展接口和客户端。其中每个扩展接口需要通过扩展基础接口获得基本操作能力,然后加入自己特有的操作接口,并通过设置全局唯一接口ID对自身接口进行标识。每个具体的组件需要实现扩展接口完成实际操作,客户端不与组件直接交互,而需要通过与扩展接口交互提出调用请求,扩展接口根据请求查找并选择合适的实现组件响应客户端请求。根据题干描述,可以看出基础接口这一角色应该对应统一操作接口,组件这一角色应该对应监控组件,扩展接口这一角色应该对应新网络设备的操作接口,客户端这一角色应该对应控制终端。

第 2 题

请详细阅读以下关于系统过程建模的说明,在答题纸上回答问题1至问题3。
【说明】
某公司正在研发一套新的库存管理系统。系统中一个关键事件是接收供应商供货。项目组系统分析员小王花了大量时间在仓库观察了整个事件的处理过程,并开发出该过程所执行活动的列表:供应商发送货物和商品清单,公司收到商品后执行收货处理,包括卸载商品、确定收到了订单上的商品、处理与供应商的分歧等。对于已有商品,调整其库存信息,对于新采购的商品,在库存中添加新的商品记录。收货完成后,系统执行入库处理,将商品放到仓库对应的货架上。在付款处理活动中,自动生成应付账款信息,如果查询到该供应商有待付款记录,则进行合并付款,付款完成后消除应付账款记录。最后,仓库管理员根据最新的库存商品,调整出货信息。
小王根据自己观察的过程创建了该事件的1层数据流图,如下图所示。

图2-1 接收供应商供货的1层数据流图

【问题1】(8分)
请用300以内文字说明数据流图(Data Flow Diagram)的基本元素及其作用。
【问题2】(12分)
数据流图在绘制过程中可能出现多种语法错误,请分析图2-1所示数据流图中哪些地方有错误,并分别说明错误的类型。
【问题3】(5分)
系统建模过程中为了保证数据模型和过程模型的一致性,需要通过数据-过程-CRUD矩阵来实现数据模型和过程模型的同步,请在表2-1所示CRUD矩阵(1)~(5)中填入相关操作。
    

答案与解析

  • 试题难度:较难
  • 知识点:案例分析>系统需求分析
  • 试题答案:
    【问题1】(8分)
    数据流:数据流是数据在系统内传播的路径,因此由一组成分固定的数据组成。
    外部实体:代表系统之外的实体,可以是人、物或其他软件系统。
    加工(处理):加工是对数据进行处理的单元,它接收一定的数据输入,对其进行处理,并产生输出。
    数据存储:表示信息的静态存储,可以是文件、文件的一部分、数据库的元素等。
    【问题2】(12分)
    1、加工P5.3仅有输入流,缺少输出流,这属于黑洞。
    2、加工P5.4仅有输出流,缺少输入流,这属于奇迹。
    3、D1到A2:缺少处理数据流的加工。
    4、D2:数据存储没有输出的数据流。
    【问题3】(5分)
    (1)R
    (2)R
    (3)CRU
    (4)RU
    (5)CRUD
  • 试题解析:CRUD矩阵是指利用矩阵的形式来表示各个不同用户对不同操作的动作行为。其中,C是Creat——产生,R是Read——引用,U是Update——更新,D是Delete——删除。


第 3 题

请详细阅读有关嵌入式构件设计方面的说明,在答题纸上回答问题1至问题3。

【说明】

构件((component)也称为组件,是一个功能相对独立的具有可复用价值的软硬件单元。近年来,构件技术正在逐步应用于大型嵌入式系统的软件设计。某公司长期从事飞行器电子设备研制工作,已积累了大量成熟软件。但是,由于当初管理和设计等原因,公司的大量软件不能被复用,严重影响了公司后续发展。公司领导层高度重视软件复用问题,明确提出了要将本公司的成熟软件进行改造,建立公司可复用的软件构件库,以提升开发效率、降低成本。公司领导层决定将此项任务交给技术部门的王工程师负责组织实施。两个月后,王工程师经过调研、梳理和实验,提交了一份实施方案。此方案得到了公司领导层的肯定,但在实施过程中遇到了许多困难,主要表现在公司软件架构的变更和构件抽取的界面等方面。

【问题1】(共9分)
请用200字以内文字说明获取构件的方法有哪几种?开发构件通常采用哪几种策略?并列举出两种主流构件标准。
【问题2】(共6分)
由于该公司已具备大量的成熟软件,王工程师此次的主要工作就是采用遗留工程(Legacy Engineering)方法,将具有潜在复用价值的软件提取出来,得到可复用的构件。因此,在设计软件时与原开发技术人员产生了重大意见分歧,主要分歧焦点在于大家对构件概念理解上的差异。请根据你对构件的理解,判断表3-1给出的有关构件的说法是否正确,将答案写在答题纸上。
    
【问题3】(共10分)
    王工程师的实施方案指出:本公司的大部分产品是为用户提供标准计算平台的,而此平台中的主要开发工作是为嵌入式操作系统研制板级支持软件(BSP)。为了提高BSP软件的复用,应首先开展BSP构件的开发,且构件架构应符合国外GENESYS规范定义的嵌入式系统架构风格。图3-1给出了架构风格定义的构件通用接口,其中:链接接口(LIF)是构件对外提供的功能服务接口;局部接口建立了构件和它的局部环境的连接,如传感器、作动器或人机接口;技术相关接口(TDI)提供了查看构件内部、观察构件的内部变量的手段,如诊断等;技术无关接口(TII)用来在运行时配置、复使、重启构件的接口。现需要针对BSP中常用的RS-232串行驱动程序设计一个可复用的软构件,请说明该软构件四类接口的具体功能。
    
图3-1 GENESYS规范定义的构件接口

答案与解析

  • 试题难度:较难
  • 知识点:案例分析>嵌入式系统设计
  • 试题答案:【问题1】(9分)
    获取构件的方法包括:
    (1)从现有构件中获得符合要求的构件,直接使用或作适应性(flexibility)修改,得到可重用的构件;
    (2)通过遗留工程(legacy engineering),将具有潜在重用价值的构件提取出来,得到可重用的构件;
    (3)从市场上购买现成的商业构件,即COTS(Commercial Off-The-Shell)构件;
    (4)开发新的符合要求的构件。
    开发构件的策略:
    分区:指的是将问题情景的空间分割成几乎可以独立研究的部分;
    抽象:是对给定实践内执行指定计算的软/硬件单元的一种抽象;
    分割:是将结构引入构件的行为,支持对行为性质进行时序推理。
    主流构件标准包括:COBRA、COM/DCOM/COM+、EJB(答出其中两种即可)。
    【问题2】(6分)
    (1)√        (2)×         (3)×       (4)√         (5)×        (6)×
    【问题3】(10分)
    局部接口:将RS-232芯片的外部中断向量连接到CPU,从RS-232芯片中读取寄存器的内容,将控制信息定稿RS-232芯片寄存器。
    技术相关接口(TDI):诊断数据传输校验的错误。
    链接接口(LIF):对RS-232芯片初始化,并向其发送数据与从芯片接收数据。
    技术无关接口(TII):RS-232芯片或驱动构件复位和重启,重新配置传输速率。
  • 试题解析:
    构件组装
    构件组装是指将库中的构件经适当修改后相互连接,或者将它们与当前开发项目中的软件元素相连接,最终构成新的目标软件。构件组装技术大致可分为基于功能的组装技术、基于数据的组装技术和面向对象的组装技术。
    (1)基于功能的组装技术
    基于功能的组装技术采用子程序调用和参数传递的方式将构件组装起来。它要求库中的构件以子程序/过程/函数的形式出现,并且接口说明必须清晰。当使用这种组装技术进行软件开发时,开发人员首先应对目标软件系统进行功能分解,将系统分解为强内聚、松耦合的功能模块。然后根据各模块的功能需求提取构件,对它进行适应性修改后再挂接在上述功能分解框架(framework)中。
    (2)基于数据的组装技术
    基于数据的组装技术首先根据当前软件问题的核心数据结构设计出一个框架,然后根据框架中各结点的需求提取构件并进行适应性修改,再将构件逐个分配至框架中的适当位置。此后,构件的组装方式仍然是传统的子程序调用与参数传递。这种组装技术也要求库中构件以子程序形式出现,但它所依赖的软件设计方法不再是功能分解,而是面向数据的设计方法,例如Jackson系统开发方法。
    (3)面向对象的组装技术
    由于封装和继承特征,面向对象方法比其他软件开发方法更适合支持软件重用。在面向对象的软件开发方法中,如果从类库中检索出来的基类能够完全满足新软件项目的需求,则可以直接应用。否则,必须以类库中的基类为父类采用构造法或子类法生成子类。

第 4 题

请详细阅读有关软件架构评估方面的说明,在答题纸上回答问题1至问题2。
【说明】
某电子商务公司拟升级目前正在使用的在线交易系统,以提高客户网上购物时在线支付环节的效率和安全性。公司研发部门在需求分析的基础上,给出了在线交易系统的架构设计。公司组织相关人员召开了针对架构设计的评估会议,会上用户提出的需求、架构师识别的关键质量属性场景和评估专家的意见等内容部分列举如下:
(a)在正常负载情况下,系统必须在0.5秒内响应用户的交易请求;
(b)用户的信用卡支付必须保证99.999%的安全性;
(c)系统升级后用户名要求至少包含8个字符;
(d)网络失效后,系统需要在2分钟内发现错误并启用备用系统;
(e)在高峰负载情况下,用户发起支付请求后系统必须在10秒内完成支付功能;
(f)系统拟采用新的加密算法,这会提高系统安全性,但同时会降低系统的性能;
(g)对交易请求处理时间的要求将影响系统数据传输协议和交易处理过程的设计;
(h)需要在30人月内为系统添加公司新购买的事务处理中间件;
(i)现有架构设计中的支付部分与第三方支付平台紧耦合,当系统需要支持新的支付平台时,这种设计会导致支付部分代码的修改,影响系统的可修改性;
(j)主站点断电后,需要在3秒内将访问请求重定向到备用站点;
(k)用户信息数据库授权必须保证99.999%可用;
(l)系统需要对Web界面风格进行修改,修改工作必须在4人月内完成;
(m)系统需要为后端工程师提供远程调试接口,并支持远程调试。

【问题1】(12分)
在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。请给出合适的质量属性,填入图4-1中(1)、(2)空白处;并选择题干描述的(a)~(m),填入(3)~(6)空白处,完成该系统的效用树。

      
图4-1 在线交易系统效用树

【问题2】(13分)
在架构评估过程中,需要正确识别系统的架构风险、敏感点和权衡点,并进行合理的架构决策。请用300字以内的文字给出系统架构风险、敏感点和权衡点的定义,并从题干(a)~(m)中各选出1个对系统架构风险、敏感点和权衡点最为恰当的描述。

答案与解析

  • 试题难度:较难
  • 知识点:案例分析>软件质量属性
  • 试题答案:

    【问题1】(12分)
    (1)性能
    (2)可修改性
    (3)(e)
    (4)(j)
    (5)(l)
    (6)(k)
    【问题2】(13分)
    系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。
    敏感点是指为了实现某种特定的质量属性,一个或多个构件所具有的特性。
    权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。
    风险点:(i); 敏感点:(g); 权衡点:(f)。

  • 试题解析:本题主要考查考生对软件架构评估、软件质量属性以及架构评估中相关概念的理解与掌握。考生应该在熟记基础概念的基础上结合实际问题灵活掌握并应用这些概念。
    在解答本题时,首先需要对题干中的所有软件需求描述进行分析与梳理,区分并找出其中的需求分析、软件质量属性描述,或者可能的风险、权衡点或敏感点描述。具体列举如下:
    (a)在正常负载情况下,系统必须在0.5秒内响应用户的交易请求,对应性能属性。
    (b)用户的信用卡支付必须保证99.999%的安全性,对应安全性属性。
    (c)系统升级后用户名要求至少包含8个字符,对应软件业务需求。
    (d)网络失效后,系统需要在2分钟内发现错误并启用备用系统,对应可用性属性。
    (e)在高峰负载情况下,用户发起支付请求后系统必须在10秒内完成支付功能,对应性能属性。
    (f)系统拟采用新的加密算法,这会提高系统安全性,但同时会降低系统的性能,系统权衡点。
    (g)对交易请求处理时间的要求将影响系统数据传输协议和交易处理过程的设计,对应系统敏感点。
    (h)需要在30 人月内为系统添加公司新购买的事务处理中间件,对应可修改性属性。
    (i)现有架构设计中的支付部分与第三方支付平台紧耦合,当系统需要支持新的支付平台时,这种设计会导致支付部分代码的修改,影响系统的可修改性,对应系统风险。
    (j)主站点断电后,需要在3秒内将访问请求重定向到备用站点,对应可用性属性。
    (k)用户信息数据库授权必须保证99.999%可用,对应安全性属性。
    (l)系统需要对Web界面风格进行修改,修改工作必须在4人月内完成,对应可修改性属性。
    (m)系统需要为后端工程师提供远程调试接口,并支持远程调试,对应可测试性属性。
    【问题1】
    在架构评估过程中,质量属性效用树(utility tree)是对系统质量属性进行识别和优先级排序的重要工具。效用树主要关注性能、可修改性、可用性和安全4个方面,考生首先必须填入对应的质量属性名称,并根据上述分析依次填入合适的标号。
    【问题2】
    系统架构风险是指架构设计中潜在的、存在问题的架构决策所带来的隐患。敏感点是为了实现某种特定质量属性,一个或多个系统组件所具有的特性。权衡点是影响多个质量属性,并对多个质量属性来说都是敏感点的系统属性。根据上述分析可知题干描述中,(i)描述的是系统架构风险;(g)描述的是敏感点;(f)描述的是权衡点。

第 5 题

请详细阅读有关Web应用架构设计方面的说明,在答题纸上回答问题1至问题3。

【说明】

某软件公司开发运维了一个社交网站系统,该系统基于开源软件平LAMP(Linux+Apache+MySQL+PHP)构建,运行一段时间以来,随着用户数量及访问量的增加,系统在Web服务器负载、磁盘I/O等方面出现了明显瓶颈,已不能满足大量客户端并发访问的要求,因此公司成立了专门的项目组,拟对系统架构进行调整以提高系统并发处理能力。目前系统采用了传统的三层结构,系统架构如图5-1所示。

    

图5-1 某社交网站系统架构

【问题1】(10分)
针对目前出现的Web服务器负载过大问题,项目组决定在客户端与中间层Web服务器之间引入负载均衡器,通过中间层Web服务器集群来提高Web请求的并发处理能力。在讨论拟采用的负载均衡机制时,王工提出采用基于DNS的负载均衡机制,而李工则认为应采用基于反向代理的负载均衡机制,项目组经过讨论,最终确定采用李工提出的方案。请用200字以内的文字,分别简要说明两个机制的基本原理;并从系统执行效率、安全性及简易性等方面将两种机制进行对比,将对比结果填入表5-1中。
    
【问题2】(7分)
针对并发数据库访问所带来的磁盘I/O瓶颈问题,项目组决定在数据层引入数据库扩展机制。经过调研得知系统数据库中存储的主要数据为以用户标识为索引的社交网络数据,且系统运行时发生的大部分数据库操作为查询操作。经过讨论,项目组决定引入数据库分区和MySQL主从复制两种扩展机制。数据库分区可采用水平分区和垂直分区两种方式,请用350字以内的文字说明在本系统中应采用哪种方式及其原因,并分析引入主从复制机制给系统带来的好处。
【问题3】(8分)
为进一步提高数据库访问效率,项目组决定在中间层与数据层之间引入缓存机制。赵工开始提出可直接使用MySQL的查询缓存(query cache)机制,但项目组经过分析好友动态显示等典型业务的操作需求,同时考虑已引入的数据库扩展机制,认为查询缓存尚不能很好地提升系统的查询操作效率,项目组最终决定在中间层与数据层之间引入Memcached分布式缓存机制。
(a)请补充下述关于引入Memcached后系统访问数据库的基本过程:系统需要读取后台数据时,先检查数据是否存在于(1)中,若存在则直接从其中读取,若不存在则从(2)中读取并保存在(3)中;当(4)中数据发生更新时,需要将更新后的内容同步到(5)实例中。(备选答案:数据库、Memcached缓存
(b)请结合已知信息从缓存架构、缓存有效性及缓存数据类型等方面分析使用Memcached代替数据库查询缓存的原因。 

答案与解析

  • 试题难度:较难
  • 知识点:案例分析>软件架构风格与架构设计
  • 试题答案:
    【问题1】(10分)
    基于DNS的负载均衡是在DNS服务器中为同一个主机名配置多个IP 地址,在应答DNS 查询时,DNS 服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的节点上去,使得不同的客户端访问不同的节点,从而达到负载均衡的目的。
    反向代理负载均衡。反向代理负载均衡是将来自Internet上的连接请求以反向代理的方式动态地转发给内部网络上的多个节点进行处理,从而达到负载均衡的目的。
    (1)否
    (2)是
    (3)否
    (4)是
    (5)否
    (6)是
    (7)是
    (8)否
    【问题2】(7分)
    本系统应采用水平分区,因为社交网络数据库的数据表记录数量非常庞大,而且记录的访问,大多集中于本地区域,所以水平分区能极大提高处理效率。
    主从复制机制使得同样的数据,存在多个副本,这样让用户查询数据时,可以选择该数据最近的副本进行访问,提高效率,降低资源使用时的冲突。另一方面主从复制机制中一台数据库服务器故障不会导致站点无法访问。
    【问题3】(8分)
    (1)Memcached
    (2)数据库
    (3)Memcached
    (4)数据库
    (5)Memcached
    Memcached相比数据库查询缓存:
    缓存架构:数据库缓存只是将查询结果进行缓存,适用面很窄,而Memcached是将数据库中的表进行缓存,对于在这些表之上的操作均可适用。
    缓存有效性:Memcached缓存时效较长,只要未更新,就属于有效状态,而数据查询缓存时效较短(具体时效与配置有关),所以在此方面Memcached有优势。
    缓存数据类型:Memcached缓存数据为表级,而数据库查询缓存为元组级。
  • 试题解析:
    基于DNS的负载均衡。基于DNS的负载均衡是在DNS服务器中为同一个主机名配置多个IP 地址,在应答DNS 查询时,DNS 服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的节点上去,使得不同的客户端访问不同的节点,从而达到负载均衡的目的。
    DNS 负载均衡的优点是经济、简单易行,并且节点可以位于Internet上任意的位置。但它也存在不少缺点,例如,为了保证DNS数据及时更新,一般都要将DNS的刷新时间设置得较小,但太小就会造成太大的额外网络流量,并且更改了DNS数据之后也不能立即生效;DNS负载均衡采用的是简单的轮转算法,不能区分节点之间的差异,不能反映节点的当前运行状态,不能做到为性能较好的节点多分配请求,甚至会出现客户请求集中在某一个节点上的情况。另外,要给每个节点分配一个Internet上的IP地址,这势必会占用过多的IP地址。
    反向代理负载均衡。反向代理负载均衡是将来自Internet上的连接请求以反向代理的方式动态地转发给内部网络上的多个节点进行处理,从而达到负载均衡的目的。反向代理负载均衡既能以软件方式实现,也能在高速缓存器和负载均衡器等硬件设备上实现。反向代理负载均衡可以将优化的负载均衡策略和代理服务器的高速缓存技术结合在一起,提升静态网页的访问速度,提高系统性能。另外,由于网络外部用户不能直接访问真实的节点计算机,反向代理负载均衡还具备额外的安全性(同理,基于NAT的负载均衡也有此优点)。
    反向代理负载均衡的缺点主要表现在两个方面。首先,反向代理处于OSI参考模型应用层,因此,必须为每种应用服务专门开发一个反向代理服务器,这样,就限制了反向代理负载均衡技术的应用范围,现在一般都用于对Web服务器的负载均衡;其次,针对每一次代理,代理服务器都必须打开两个连接,一个对外,一个对内。在并发连接请求数量非常大的时候,代理服务器的负载也就非常大,代理服务器本身会成为服务的瓶颈。
     Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
     Mysql查询缓存的作用就是当查询接收到一个和之前同样的查询,服务器将会从查询缓存种检索结果,而不是再次分析和执行上次的查询。这样就大大提高了性能,节省时间。 

results matching ""

    No results matching ""