刚memcached了解学习,一直是处于一个懵懂的状态,先是对memcached进行了一个了解,但我们为什么要在ITOO中引入memcached呢?当问我的时候当时自己脑子中打了一个大大的

这就必须去考虑为什么要引入memcached,应该从哪里开始研究呢?首先从memcached的优点,先来看一下它的优点:

【memcached优点】

1)基于客户端分布式

2)速度快

3)memcached不互相通信

4)适合读多少写

【应用】

我们从memcached的优点来分析一下在ITOO中为什么要引入它,首先我们的系统是利用WCF实现分布式的,而且五个系统是独立开发,并且每个系统都有自己的库和服务器,如图为五个系统:

如果我们在权限登录的时候使用Session,只是存到了权限服务器中,别的系统无法从权限服务器来获取Session值,这时我们的memcached作为第三方的缓存就发挥其强大的功能了,存入memcached的是根据hash算法按照key-value来存入,只要知道key我们就可以从memcached中获得数据来实现五个系统共用用户的信息。(分布式存储)

在ITOO中应用主要在考评系统的学生端,第一个学生访问时将题缓存到memcached中,第二个学生根据key值,直接从缓存中读取,这样在大量用户访问时,能够提高用户的体验度,也许第一个人可能会慢一些,但我们更看重的是大多数用户的感受,而不仅仅是个别的用户。(速度快)

在ITOO还有一个应用,就是将考试过程中右侧的答题卡(用来显示某道题是否已经做)直接存入到缓存中,这个数据是不需要存入到数据库中,我们采用缓存,每个用户在考试中,根据Key-value,将数据存入缓存,不会加重数据库的负担,而且也能为用户提供良好的用户体验。(速度快)

memcached的前两个优点我都已经想到了应用场景,第三点是说memcached服务器之间并不会通信,我们可以自己的需要来增加memcached服务器来来满足我们的需要,而不需要担心是否对其他的memcached有影响。

也许还有很多应用场景,欢迎大家来与我共同讨论,咱们共同成长。。。

【总结】

我自己的观点是应用缓存我们是用空间来提高速度,这跟老师说的框架是一个意思,应用框架可以减少开发量,但会降低速度,而memcached是消耗服务器的一部分空间来提升系统的速度。

这次我们主要说了一下memcached的优点,接下来说明memcached的缺点,大家期待更新!

为什么引入Memcached?的更多相关文章

  1. GPS部标监控平台的架构设计(十一)-基于Memcached的分布式Gps监控平台

    部标gps监控平台的架构,随着平台接入的车辆越来越多,架构也面临越来越大的负载挑战,我们当然希望软件尽可能的优化并能够接入更多的车辆,减少在硬件上的投资.但是当车辆增多到某一个临界点的时候,仍然要面临 ...

  2. Memcached 笔记与总结(9)Memcached 与 Session

    一.Memcached 存储 Session 由于 Memcached 是分布式的内存对象缓存系统,因此可以用来实现 Session 同步:把 Web 服务器中的内存组合起来,成为一个“内存池”,不管 ...

  3. Memcached、Redis OR Tair

    一.前言 非关系型数据库(NoSQL = Not Only SQL)的产品非常多,常见的有Memcached.Redis.MongoDB等优秀开源项目,相关概念和资料网上也非常丰富,不再重复描述,本文 ...

  4. memcached学习(3)memcached的删除机制和发展方向

    memcached是缓存,所以数据不会永久保存在服务器上,这是向系统中引入memcached的前提. 本次介绍memcached的数据删除机制,以及memcached的最新发展方向--二进制协议(Bi ...

  5. memcached使用说明

    1.在服务器上注册服务 2.启动服务:services.msc       3.客户端创建服务接口 object Get(string key); List<string> GetKeys ...

  6. memcached全面剖析--3

    memcached的删除机制和发展方向 下面是<memcached全面剖析>的第三部分. 发表日:2008/7/16 作者:前坂徹(Toru Maesaka) 原文链接:http://gi ...

  7. springMVC整合memcached,以注解形式使用

    睡不着,深夜写点博客.闲下来有一个月了,心里多少有点…… 在北京找工作一再受阻,这个时间点也不好找 再接再厉 之前没有用过memcached,没有什么实战经验,看了一些关于memcached的博客,写 ...

  8. Memcached FAQ

    这篇FAQ包含了大家普遍关心的问题.非常值得一看. 原文:http://blog.csdn.net/jarfield/archive/2009/07/05/4322953.aspx 最后更新时间 20 ...

  9. 高性能缓存系统Memcached在ASP.NET MVC中应用

    在Memcached中实体类型未经序列化不能在Memcached中缓存,因此需要对实体类进行处理,才能缓存下来. Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库 ...

随机推荐

  1. VueJS中学习使用Vuex详解

    转载自:https://segmentfault.com/a/1190000015782272,做了部分修改(这里建议不要用所谓的getters,一来多次一举,二来模块化时会产生很不协调的用法) 在S ...

  2. Storm Kafka与配置和代码集成

    1.目标 - 风暴卡夫卡整合 在本Kafka教程中,我们将学习Storm Kafka Integration的概念.此外,我们将在此Kafka Storm集成教程中讨论Storm架构,Storm Cl ...

  3. (三)linux 学习 --操作文件和目录

    The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap05.html 文章目录 通配符 字符范围 ` ...

  4. c++快速排序原理及优化

    快速排序 快速排序的时间复杂度为O(logn) 注意:快速排序主要是标志数的选取,如果所选的数恰好为最小或者最大,则是最糟糕的情况,即一轮下来数据没有发生变化! 如何选取中间的标志数成为了算法的关键. ...

  5. CF991E Bus Number

    题意翻译 给你一个数字序列A(长度不超过18位),问有多少个序列B满足①A中所有数字都一定要在B中出现过:②B中所有数字也一定要在A中出现过:③序列B不能以0开头 输入 #1 97 输出 #1 2 解 ...

  6. java笔记3

    面向对象的特点:   1.封装:   2.继承   3.多态 好处:   是一种符合人们思考习惯的思想  可以将复杂的事情简单化  将程序员从执行者变为指挥者 二 类与对象 成员变量与局部变量的区别: ...

  7. 数据建模工具------EZMNL

    表结构设计器(EZDML) 表结构设计器EZDML1.5新版本发布,比以前介绍的1.2版本改进了很多,因此重新写了个介绍. 表结构设计,即所谓的数据建模,目前大家常用的同类著名工具有PowerDesi ...

  8. js获取项目名称

    //获取路径 var pathName=window.document.location.pathname; //截取,得到项目名称 var projectName=pathName.substrin ...

  9. WPF 不要给 Window 类设置变换矩阵(分析篇):System.InvalidOperationException: 转换不可逆。

    原文:WPF 不要给 Window 类设置变换矩阵(分析篇):System.InvalidOperationException: 转换不可逆. 最近总是收到一个异常 "System.Inva ...

  10. 和我一起,重零开始学习Ant Design Pro开发解决方案(一)安装开发环境

    安装NODEJS 什么是NODEJS? 百度一下吧,这个真不知道,老码农,别笑话我: 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome Jav ...