`

Oscache与memcached区别

 
阅读更多

Oscache与memcached区别

<!-- 正文开始 -->
缓存在互联网平台大量使用以提高性能,降低数据库负担,更快的响应用户的请求。原因主要是缓存的使用场景是性能要求高,实时性或准确性要求稍差。
其他提高性能手段:
1,数据库方面改革,效果最明显。如主从服务器。数据库水平和垂直拆分(一般用户表不能拆分)。数据库索引,全文索引。数据库是否用事务表,慢查询监控
2, Lucene,蜘蛛的使用,利用文件索引减少查询数据库
3, Web服务器或应用服务器选择及负载均衡。 Tomcat,resin,jboss.,weblogic
4, 图片服务器和web服务器分离,可以是多个。图片标记,多种图片格式,图片名称和用户分离,名称变得无规则
5, Cs,js等的压缩,减少流量,并可能到客户端一部分信息
6,登陆或瓶颈模块设计的不同。验证码或多步登陆。很多网站长期没改进,可能在对抗性能瓶颈。大规模改版风险很大。在什么时候升级系统
7,程序角度:架构选择(如Facebook,API,GOOGLE,API),多线程的使用(单实例多线程,主线程子线程),代码算法结构,
数据结构
容器概念内置对象:page,session,application
使用Cache,可以缓存网页,提高浏览速度,还可以缓存任何对象和数据,减少对数据库的操作。Session可以存储对象,但是必须使用Session,但是对于Sesion,并不是任何情况下都是需要的;Application可以存储对象,但是生存周期太长,从而决定了不可以存储对象太多;所以有了Cache,它可以不涉及使用Session,又有自己的生存周期,可以比起Application来,相对大量的使用。
在信息系统建设过程中我们通常会遇到这样的问题: 1. 基础数据的变更问题信息系统中需要处理的基础数据的内容短时间内是不会发生变化的,但是在一个相对长一些的时间里,它却可能是动态增加或者减少的。举个例子:电子商务中关于送货区域的定义,可能短时间内不会发生变化,但是随着电子商务企业业务的扩大,系统中需要处理的送货区域就可能增加。所以我们的系统中不得不在每次向客户展示送货区域信息的时候都和数据库(假设送货区域信息保存在数据库中,这也是通常采用的处理方法)进行交互。
2. 统计报表(不仅限于统计报表)的问题一般来说,统计报表是一个周期性的工作,可能是半个月、一个月或者更长的时间才会需要更新一次,然而统计报表通常是图形显示或者是生成pdf、word、 excel等格式的文件,这些图形内容、文件的生成通常需要消耗很多的系统资源,给系统运行造成很大的负担。 1.2 抽象出的缓存使用的共同点 通过比较分析,不难发现这两类问题有一些共同点: 1、被处理的内容短时间不变,所以短时间内可以作为静态内容进行处理 2、在一个不太长的时间内,被处理的内容可能或者必定产生变化,所以必须将他们作为动态内容进行处理 3、实时性要求不高:在合理的时间区段内可以忽略被处理内容变化后带来的影响 4、对这些内容的处理动作比较消耗系统性能,影响系统响应时间
在开源项目的出镜率和关注率比较高的Cache:memcached,JBoss Cache, OSCache,EHCache等。
以下是Cache的基本特性,大部分Cache都有相应的API支持。
♦ 时间记录 数据进入Cache的时间。
timeout过期时间 Cache里面的数据多久过期 (与清除策略的区分,一个缓存快到期突然最后访问了一次,会不会过期,区分点是清除策略的作用前提,理论上没到期也可能被清除出去,到期肯定被清除)
Eviction Policy 清除策略 Cache满了之后,根据什么策略,应该清除哪些数据。比如,最不经常被访问的数据,最久没有访问到的数据。
♦ 命中率 Cache的数据被选中的比率 (访问多少次,cache使用多少次)
♦ 分级Cache 有些Cache有分级的概念。比如,几乎所有的Cache都支持Region分区的概念。可以指定某一类的数据存放在特定的Region里面。JBoss Cache可以支持更多的级别(有待研究)。
♦ 分布式Cache 分布在不同计算机上的Cache
♦ 锁,事务,数据同步 一些Cache提供了完善的锁,事务支持。
Memcached与Oscache的朴素区分及各自特点
部署不同,memcache一般跟web服务器不在同一主机,当然也可以在同一主机,利用的是资源互补原理。 对内存要求很高,对cpu要求稍低。Oscache与web服务器在同一台。
从作用的层来说,对memcache各层都可以支持。Oscache大多数用于web层,其实也支持biz层,一般不用
Memcache的特点: 分布式内存对象缓存系统,占用其他机子的内存。很多互联网,负载均衡三台(以三台为例)web服务器可以共享一台Memcache的资源。传递的信息以键值对的形式存储。传递的数据要实现序列化。
Oscache的特点: 页面级缓存,占用本机的内存资源。可以选择缓存到硬盘,如存取到硬盘重启服务也可重新获得上次持久化的资源,而如果缓存到内存就不行。一般没必要缓存到硬盘,因为I/O操作也是比较耗资源,和从数据库取往往优势很小。Oscache存取数据的作用域分为application和session两种。
参考oscache的帮助资料猜想它的实现原理是把要存储共享的资源的作用域分为应用程序全局共享application(对性能优化作用很明显)和某个用户某次操作某个网站session(用户和web服务器会话)级共享两种。对共享的资源设置过期时间。即当服务器运行时发现在
作用域内还有对象,就以类似静态页面的形式(因为缓存了要显示的信息)提供给客户端,当过期了,就需要重查资源(如果是页面里的缓存就需要资源能在jsp 里提供)。如果没有过期,但内容改变了,可以通过flush的方式清除老资源以便加载新的资源。Oscache页面级缓存可缓存jsp,需要改变 web.xml配置文件,里面可以设定缓存的作用域和过期时间.关于页面级缓存action,资料比较少,新的oscache已经解决了struts 的缓存问题,但最大的问题是MVC模式中, 是先取数据, 取出来后,再放到网页上显示, 如果在网页上用KEY, 应该起不到作用. 因为取出数据在KEY标签之前执行.究其原因主要是因为缓存实际上缓存的是输出信息,即使jsp也是输出信息。不过把jsp当作独立的运行单元一起缓存。因为毕竟有作用域,那么在action里优势就可以有其他方式解决。这一块在用了memcache后用oscache就没有太大用处.
Oscache的一个特点是在没有过期时,jsp里的运行单元不依赖于输入参数,如果依赖,那么缓存就没有作用了,如果用了可以取数据的memcache时使用场景比较小。当然如果不使用memcache,使用场景就比较大。
分享到:
评论

相关推荐

    VB控制计算机并口示例(含完整可以运行源代码)

    VB控制计算机并口示例(含完整可以运行源代码) 可以通过并口直接控制MCU,做SW控制不错,关键还可以学习并口硬件控制学习。含详细源代码哦

    python毕业设计基于PyTorch的手语识别系统源码+数据集(完整项目代码)

    python毕业设计基于PyTorch的手语识别系统源码+数据集(完整项目代码),本资源中的源码都是经过本地编译过可运行的,评审分达到98分,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、毕业设计、期末大作业和课程设计使用需求,如果有需要的话可以放心下载使用。 python毕业设计基于PyTorch的手语识别系统源码+数据集(完整项目代码)python毕业设计基于PyTorch的手语识别系统源码+数据集(完整项目代码)python毕业设计基于PyTorch的手语识别系统源码+数据集(完整项目代码)python毕业设计基于PyTorch的手语识别系统源码+数据集(完整项目代码)python毕业设计基于PyTorch的手语识别系统源码+数据集(完整项目代码)python毕业设计基于PyTorch的手语识别系统源码+数据集(完整项目代码)python毕业设计基于PyTorch的手语识别系统源码+数据集(完整项目代码)python毕业设计基于PyTorch的手语识别系统源码+数据集(完整项目代码)python毕业设计基于PyTorch的手语识别系统源码+数据集(完整项目代

    基于Unet的树种分别识别模型

    基于Unet的树种分别识别模型

    精选毕设项目-富文本解析,折线图,MD5,bluebird.zip

    精选毕设项目-富文本解析,折线图,MD5,bluebird

    图书管理系统(基于ASP .NET)

    《图书管理系统(基于ASP .NET)》是一款专为学习者设计的应用程序,旨在提供一个全面的图书管理平台。系统的设计采用ASP .NET技术,这是一款由微软开发的用于构建动态网站、web应用和web服务的强大工具。ASP .NET框架以其高效、安全和易于维护的特点,深受开发者的喜爱。 该系统包含了多个核心模块,这些模块覆盖了图书管理的主要功能。有图书录入模块,它允许管理员录入图书的基本信息,如书名、作者、出版社、ISBN号、分类等。图书查询模块提供给用户方便快捷的搜索功能,用户可以根据书名、作者、关键词等条件进行检索。此外,借阅与归还模块确保图书的流通管理,记录图书的借阅状态,提醒用户按时归还,并处理超期罚款等事务。 系统还具备用户管理模块,允许用户注册、登录、修改个人信息。对于权限管理,后台有专门的管理员角色,他们可以对用户进行操作,如分配权限、冻结或解冻账户。同时,系统的统计分析模块能够生成各类报表,如图书借阅量、热门书籍、用户活跃度等,这些数据对于图书馆运营决策有着重要参考价值。 在。内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    精选毕设项目-查拼音.zip

    精选毕设项目-查拼音

    精选毕设项目-音乐在线歌词搜索.zip

    精选毕设项目-音乐在线歌词搜索

    思维导图制作-会计初级知识重难点-会计务实-所有者权益

    本专刊的主要目的是帮助初学者系统化和结构化地掌握会计知识。我们采用思维导图的形式,将复杂的会计概念和流程进行有效的简化,旨在让学习者能够更清晰地理解这些内容,并增强记忆效果。通过视觉化的方式,读者不仅能够感受到会计知识的关联性,还能轻松掌握关键点,提升学习效率。无论是在学习新知识还是复习旧知识时,这种方法都能够为学习者提供极大的便利和帮助。

    配网两阶段鲁棒优化调度模型 关键词:两阶段鲁棒优化,CCG算法,储能 仿真算例采用33节点,采用matlab+yalmip+cplex编写,两阶段模型采用CCG算法求解 模型中一阶段变量主要包括01

    配网两阶段鲁棒优化调度模型 关键词:两阶段鲁棒优化,CCG算法,储能 仿真算例采用33节点,采用matlab+yalmip+cplex编写,两阶段模型采用CCG算法求解。 模型中一阶段变量主要包括01变量和无功优化变量,核心变量主要存在于二阶段,因此在叠加二阶段变量优化过程中更容易得到最优解,所以有限次迭代即得到收敛的结果。 模型以网损为目标,包括功率平衡、网络潮流、电压电流、蓄电池出力以及无功设备出力等约束。 复现《两阶段鲁棒优化的主动配电网动态无功优化》-熊壮壮,具体内容可自行下载了解。

    1..1行列式的定义.ppt

    1..1行列式的定义.ppt

    精选毕设项目-地图定位.zip

    精选毕设项目-地图定位

    MMC整流器平均值模型simulink仿真,19电平,采用交流电流内环,直流电压外环控制,双二阶广义积分器锁相环,PI解耦环流抑制器,调制方式为最近电平逼近调制,完美运行 波形一二为直流侧电压电流

    MMC整流器平均值模型simulink仿真,19电平,采用交流电流内环,直流电压外环控制,双二阶广义积分器锁相环,PI解耦环流抑制器,调制方式为最近电平逼近调制,完美运行。 波形一二为直流侧电压电流,波形三四分别为主控制器及环流抑制器输出调制信号。

    疫苗发布和接种预约系统-springboot毕业项目,适合计算机毕-设、实训项目、大作业学习.zip

    Spring Boot是Spring框架的一个模块,它简化了基于Spring应用程序的创建和部署过程。Spring Boot提供了快速启动Spring应用程序的能力,通过自动配置、微服务支持和独立运行的特性,使得开发者能够专注于业务逻辑,而不是配置细节。Spring Boot的核心思想是约定优于配置,它通过自动配置机制,根据项目中添加的依赖自动配置Spring应用。这大大减少了配置文件的编写,提高了开发效率。Spring Boot还支持嵌入式服务器,如Tomcat、Jetty和Undertow,使得开发者无需部署WAR文件到外部服务器即可运行Spring应用。 Java是一种广泛使用的高级编程语言,由Sun Microsystems公司(现为Oracle公司的一部分)在1995年首次发布。Java以其“编写一次,到处运行”(WORA)的特性而闻名,这一特性得益于Java虚拟机(JVM)的使用,它允许Java程序在任何安装了相应JVM的平台上运行,而无需重新编译。Java语言设计之初就是为了跨平台,同时具备面向对象、并发、安全和健壮性等特点。 Java语言广泛应用于企业级应用、移动应用、桌面应用、游戏开发、云计算和物联网等领域。它的语法结构清晰,易于学习和使用,同时提供了丰富的API库,支持多种编程范式,包括面向对象、命令式、函数式和并发编程。Java的强类型系统和自动内存管理减少了程序错误和内存泄漏的风险。随着Java的不断更新和发展,它已经成为一个成熟的生态系统,拥有庞大的开发者社区和持续的技术创新。Java 8引入了Lambda表达式,进一步简化了并发编程和函数式编程的实现。Java 9及以后的版本继续在模块化、性能和安全性方面进行改进,确保Java语言能够适应不断变化的技术需求和市场趋势。 MySQL是一个关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)来管理和存储数据。MySQL由瑞典MySQL AB公司开发,并于2008年被Sun Microsystems收购,随后在2010年,Oracle公司收购了Sun Microsystems,从而获得了MySQL的所有权。MySQL以其高性能、可靠性和易用性而闻名,它提供了多种特性来满足不同规模应用程序的需求。作为一个开源解决方案,MySQL拥有一个活跃的社区,不断为其发展和改进做出贡献。它的多线程功能允许同时处理多个查询,而其优化器则可以高效地执行复杂的查询操作。 随着互联网和Web应用的快速发展,MySQL已成为许多开发者和公司的首选数据库之一。它的可扩展性和灵活性使其能够处理从小规模应用到大规模企业级应用的各种需求。通过各种存储引擎,MySQL能够适应不同的数据存储和检索需求,从而为用户提供了高度的定制性和性能优化的可能性。

    jQuery实现左右切换全屏轮播图特效源码.zip

    这是一种全屏轮播风格的特效,使用HTML、CSS和Javript编写。轮播图包含多张图片和对应的文本介绍,通过自动滑动和手动切换两种方式,展示出不同的内容。该轮播图在网页头部或者特定板块上使用,能够为用户提供直观的视觉体验和丰富的内容呈现。而且,该轮播图可以灵活地设置大小、位置、动画等属性,便于根据实际需求进行个性化定制。

    精选毕设项目-图片预览带后端.zip

    精选毕设项目-图片预览带后端

    精选毕设项目-番茄时钟.zip

    精选毕设项目-番茄时钟

    精选毕设项目-简单的商城小应用.zip

    精选毕设项目-简单的商城小应用

    精选毕设项目-仿zcool站酷.zip

    精选毕设项目-仿zcool站酷

    精选毕设项目-录音机.zip

    精选毕设项目-录音机

    南京理工大学毕业论文overleaf LaTex模板,微调版

    南京理工大学毕业论文overleaf LaTex模板,按照我个人的写作需求修改后的版本

Global site tag (gtag.js) - Google Analytics