`
winnie825
  • 浏览: 120205 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Jcs对大数据量的处理方案

 
阅读更多

 

 

    Jcs的原理是利用缓存获取用户所需要的数据,减少对数据库的访问,从而提高存储效率。实现该方案的需要解决两个问题:

1.   缓存的数据从哪来

2.   缓存的数据的有效性

 

1.   缓存的数据从哪来

    从根源来讲,缓存的数据应当在查询过数据后放入cache,通常用户在进行业务流程时,查询数据、放入缓存。但是这样存在一个问题,第一次查询不会用到缓存,如果第一次查询时的数据量非常巨大,jcs就没有作用了。

 

提前加载

当用户登录系统时,用户身份验证通过后,将所需数据放入缓存,这样在用户第一次查询数据时就可以用到cache。

优点:第一次查询就能提高效率;

          命中高,根据用户id查询,cache中必然包含该用户所需的信息;

缺点:登录时间会变长,影响用户体验;

 

系统加载

当系统启动时,使用filter进行提前加载,将常用数据使用jcs进行缓存。

优点:第一次查询能够使用缓存,相对前一种方式,用户登录的数据也可以从缓存中获取;

         缓存数据全(无用户信息,因此进行全量查询缓存);

缺点:数据容易失效,针对变更频繁数据不宜使用;

         针对大量数据(万级以上),jcs效果会折扣;

 

基本缓存

最常用的方式,当用户第一次查询数据时,将数据放入缓存,缓存的数据会在用户使用的过程中逐渐补全;

优点:性能高,放入缓存的数据量通常很小;

          高可靠性,使用缓存不当,容易产生脏数据(缓存未更新,与实时数据不符),该方法可以提高数据更新率,防止脏数据。

缺点:第一次无法使用;

          缓存数据健全过程慢;

 

 

 

2.   缓存数据的有效性

缓存的数据需要进行更新,从而保证数据的有效性。通常来说有两个步骤:① 删除旧数据; ② 补充更新

 

①   删除旧数据的前提是数据发生了变更,如modify、delete等操作。此时需要从缓存中将旧数据更新(含删除)。

      针对多工程的数据共享有两种方案:

          1)使用消息的方式,通知其他共享服务器更新缓存(如MQ消息服务);

          2)使用缓存服务器,统一存放缓存(jcs提供相关功能);

②   补充更新的方案可以结合上面提到的缓存的数据从哪来,使用提前加载、基本缓存等方式,可以快速实现数据的更新,保证数据的完整。

 

补充一句话:没有完美的解决方案,只有针对不同情况产生的最优方案!

 

分享到:
评论

相关推荐

    jcs 教程 缓冲

    Java Caching System (JCS) 是一个开源的缓存解决方案,它主要用于提高应用程序的性能,尤其是在处理大量数据库查询时。JCS通过将常用数据存储在内存中,避免了频繁访问数据库,从而减轻了数据库的负载。在【描述】...

    Jcs1.3.Jar

    JCS是Apache软件基金会下的一个项目,其核心设计目标是为Java应用程序提供高效的数据缓存服务,以减少对数据库的访问,从而降低系统的负载。 JCS 1.3.jar是JCS的一个特定版本,包含了该缓存系统的全部类和方法,...

    一个简单jcs实例,一看就会的程序

    JCS实例提供了`put`和`get`方法,分别用于存储和检索数据。 通过JCS,你可以实现跨JVM的分布式缓存,这意味着多个服务器可以共享同一份缓存数据,进一步提高系统的可扩展性和性能。同时,JCS还支持其他的辅助缓存,...

    jcs 所需jar包 共3个

    JCS是一个开源的内存缓存系统,用于提高应用程序的性能和响应速度,它通过将数据存储在内存中,避免了频繁的数据库访问。这三份jar包可能是实现JCS功能的关键库。 1. **jcs-1.3.zip**:这是JCS的主要库文件,包含了...

    本地缓存(一)ehcache/jcs/cache4j/jcs的性能测试与使用场景分析

    首先,Ehcache是一个广泛使用的开源Java缓存解决方案,它提供了内存和磁盘存储的两级缓存机制,能够有效地减少对数据库的访问,提高系统响应速度。Ehcache支持多线程环境,具有丰富的API和配置选项,使得开发者可以...

    jcs 缓存服务器

    JCS支持C/S(客户端/服务器)模式,这种模式是软件架构中常见的一种设计,它将用户界面与数据处理分离,使得系统可以更灵活地进行扩展和维护。 在JCS中,客户端负责与服务器通信,请求数据或存储数据到缓存中。...

    shiftone-cache swarmcache ehcache jcs 源码

    它通过存储经常访问的数据来减少对主存储器或网络的访问,从而大大提高应用的响应速度。本文将深入探讨四种知名的缓存解决方案:ShiftOne Cache、SwarmCache、EHCache以及JCS(Java Caching System),并分析它们的...

    J2EE WEB缓存技术详解.doc

    - 在处理大规模数据时,直接访问数据库可能导致响应时间过长,影响用户体验。 - 引入缓存技术可以在一定程度上解决这一问题,通过在服务器或客户端存储数据的副本,减少对数据库的频繁访问,从而加快数据的读取...

    政务云-大数据平台架构设计.pptx

    随着数据量的增长,引入了Hadoop计算平台(UHP)和Spark计算框架,它们能够高效地处理和分析海量数据,支持实时和批处理任务。流式计算平台如CEP(基于Storm)用于实时数据处理,提供快速响应能力。JBus数据同步和...

    memory cache

    相反,主数据(Master Data)是指数据量不随时间线性增长或增长缓慢的数据,如固定的配置信息。主数据缓存通常包含所有数据,并且更新策略是按类别一次性更新全部数据,而不是逐个更新。主数据缓存不需要清除长时间...

    三通两平台解决方案.ppt

    2. **数据中心平面** - 存储和处理大量教育数据,包括各类业务系统,如学籍系统、电子校务管理系统等。 3. **业务平面** - 提供各类教学应用,如在线课堂、数字学校、视频点播等,满足不同用户的个性化需求。 4. **...

    Java中各类Cache机制实现解决方案

    - **可扩展性**:支持水平扩展,随着数据量的增长可以轻松添加更多节点。 - **易于集成**:提供了简单的API,方便与其他Java应用程序集成。 #### 十、总结 综上所述,Java中存在着多种不同的缓存机制和技术,每种...

    juniper 基础教程

    JCS1200 控制系统提供了强大的控制平面管理能力,支持多CPU和多核服务器级别的计算环境,极大地增强了对网络的管理和控制能力。 ##### 3. 可扩展性 T系列路由器具有出色的可扩展性,可以轻松地通过增加更多的路由器...

    Java缓存讨论.pdf

    Java缓存技术是提高应用程序性能的关键手段,尤其是在处理大量数据或者频繁访问相同数据的场景下。本文将深入探讨几个常见的Java缓存框架及其特点,帮助开发者理解如何在项目开发中合理利用缓存。 首先,JBossCache...

    Java认证:各类Cache机制的实现方法

    Java 缓存机制是软件开发中提升应用性能的关键技术,特别是在处理大数据量或者频繁读取的数据时。本文将深入探讨几种常见的Java缓存机制的实现方法,包括OSCache、Java Caching System (JCS)、EHCache、JCache、...

    基于电流集肤效应的改进磁滞和涡流损耗计算

    - **结果分析**:通过对实验数据的分析,验证改进算法在计算磁滞和涡流损耗方面的优越性。 #### 主要交流电阻计算方法 ##### 1.1 Morgan公式 - **集肤效应计算**:通过公式(1)至(5),考虑了电流频率、导体厚度等...

    基于Java的分布式缓存优化在网络管理系统中的应用

    Java高速缓存系统(JavaCachingSystem,JCS)是分布式缓存系统的一个具体实现,它提供了多种缓存处理方法,包括内存域保存、磁盘索引保存和远程保存。这些方法使得缓存数据的管理变得更加灵活和高效。JCS通过配置...

    speedframework-开源

    JCS是一个高度可配置的、分布式的缓存解决方案,它可以极大地提高应用的性能,减少对数据库的直接访问。通过将频繁访问的数据存储在内存中,JCS能够显著减少I/O延迟,从而提升整体应用的响应速度。在Speedframework ...

    java中的缓存.pdf

    接着,文档提及了“BerkleyDB”,这是一个嵌入式的Java数据库,广泛用于轻量级的数据存储解决方案。它支持多种数据结构和存储方式,适合于本地缓存的实现。 文中还涉及到了分布式缓存的概念,包括“memcached”、...

Global site tag (gtag.js) - Google Analytics