刚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. python爬虫3之去哪儿网

    学习任务 获取去哪儿网的出发地列表 获取旅游景点列表 获取景点产品列表 存储数据 1 获取出发地站点 (1)访问touch.qunar.com (2)按F12,单击自由行,在自由行页面点击搜索框 (3 ...

  2. [案例一] Spring中的事件驱动模型(机制)

    事件驱动模型是观察者模式的另一种形态,观察者相当于监听器,被观察者相当于事件源 事件源产生事件,监听器监听事件 以用户注册时候,要发送邮件和发送短信举例说明 定义一个事件 /** * spring会自 ...

  3. shell中通过eval执行一个字符串命令

    #!/bin/bash echo "Switch Directory : /home/pktgen-2.9.0" dir="/home/pktgen-2.9.0" ...

  4. 深入浅出CAS

    后端开发中大家肯定遇到过实现一个线程安全的计数器这种需求,根据经验你应该知道我们要在多线程中实现 共享变量 的原子性和可见性问题,于是锁成为一个不可避免的话题,今天我们讨论的是与之对应的无锁 CAS. ...

  5. 在本地库不连接远远程库的情况下操作远程库-----sql server

    --创建链接服务器 --前面都是固定不变的------q:自己随便起-----38.107.111.185:远程服务器的ip exec sp_addlinkedserver 'q', ' ', 'SQ ...

  6. [jsp学习笔记] jsp基础知识 数据初始化、同步

  7. windows下安装hexo和生成博客

    首先在电脑上安装node和git,这个只要在相关官网的下载然后一步安装即可. 然后在你的电脑上新建一个文件夹,用来存放你的博客文件,比如创建hexo 进入该文件,右键打开git bash 安装hexo ...

  8. webpack--splitChunksPlugin配置学习随笔

    该配置用于代码抽离.官方文档 官方默认配置: module.exports = { //... optimization: { splitChunks: { chunks: 'async', // 异 ...

  9. SAP NOTE 1999997 - FAQ: SAP HANA Memory

    Symptom You have questions related to the SAP HANA memory. You experience a high memory utilization ...

  10. SpringMVC、SpringFox和Swagger整合项目实例

    目标 在做项目的时候,有时候需要提供其它平台(如业务平台)相关的HTTP接口,业务平台则通过开放的HTTP接口获取相关的内容,并完成自身业务~ 提供对外开放HTTP API接口,比较常用的是采用Spr ...