刚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. Java项目main方法启动的两种方式

    1.打包时指定了主类,可以直接用java -jar xxx.jar. <!--main方法打包jar包插件--> <plugin> <artifactId>mave ...

  2. python gzip

    通常用gzip压缩过的云端数据需要做解压处理,以下代码主要用python3实现对获取到的云端gzip压缩数据进行还原. # -*- coding: utf-8 -*- ""&quo ...

  3. docker安装+docker-compose

    1.docker安装 yum install -y yum-utils device-mapper-persistent-data yum-config-manager --add-repo http ...

  4. windows10 ubuntu子系统运行docker出现的问题

    前一篇笔记记录了安装的过程及错误处理办法,但是在正式使用docker时,却又出现新的问题: “docker: Cannot connect to the Docker daemon at unix:/ ...

  5. el-input 标签中密码的显示和隐藏

    效果展示: 密码隐藏: 密码显示: 代码展示: 一:<el-input>标签代码 <el-form-item label="密码" prop="pass ...

  6. Java开发笔记(一百二十一)AWT输入框

    前面介绍了文本标签Label,该控件展示的文字是不可编辑的,若要用户在界面上输入文本,就得使用专门的编辑框控件.在AWT的控件家族当中,用作编辑框的有两种控件,分别是单行输入框TextField和多行 ...

  7. 彩蛋(Python)-------都是细节

    • python所有的符号全部是英文的符号• 数字和bool不支持迭代,列表支持• 列表有序,可变,支持索引• 元组有序,不可变,支持索引• 字典是无序的,可变的数据类型,不支持索引.• 集合,无值的 ...

  8. docker深入学习一

    docker是一个客户服务器结构的应用程序,其结构如下所示 其组成部分包括 container容器:是image的运行实例,一般container之间以及container与主机之间是相互隔离的,相当 ...

  9. 简单的3D森林

    package { import flash.display.Sprite; public class Tree extends Sprite { public var xpos:Number = 0 ...

  10. Python接口自动化基础---get请求

    1.没有参数的get请求 import requests r=requests.get('http://docs.python-requests.org/zh_CN/latest/user/quick ...