`
phpxer
  • 浏览: 71540 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

请教,在集群上Hibernate二级缓存上200万个对象的问题

阅读更多
对象如下,我在想我的系统达到200万用户的时候,由于用户对象做了缓存的,所以可能达到200万个对象缓存。
在集群部署时,采用节点间复制的缓存技术(Jboss Cache)。由于用户注册,改变name和email还是可能的,不过频率应该不高。另外可能还有新注册用户等。请问,会不会导致比较大的问题?

虽然从占用内存量来计算, 200W * 0.1K = 20m(100个字节一个对象足够)。

我自己觉得心里感觉不稳啊。请各位大佬帮忙考虑下。
	
public class Member  {
        private String name;
	private String uid;
	private String email;
}
分享到:
评论
5 楼 Readonly 2007-07-26  
你可以设置cache size,采用LRU或者其他策略
4 楼 phpxer 2007-07-26  
shaucle 写道
你可以自己测下

我小测了下,
结果是一个简单的记录大约为0.2-0.3K
20W的map, totalM约65M, freeM约10M (map之前分别为1和2,乎略)
如果机子设置Xmx为512,app本身大约要100-300M(不同服务和不同阶段可能不同)

我这边过50W的map就会OOM -_-!


好的,我试试。
弱弱的问下:如何看到一个对象占多少内存?

另外,我想大多数时候,用户记录不会这么多的。在大的应用场合,自然可以启用大内存吧。
3 楼 shaucle 2007-07-26  
你可以自己测下

我小测了下,
结果是一个简单的记录大约为0.2-0.3K
20W的map, totalM约65M, freeM约10M (map之前分别为1和2,乎略)
如果机子设置Xmx为512,app本身大约要100-300M(不同服务和不同阶段可能不同)

我这边过50W的map就会OOM -_-!
2 楼 phpxer 2007-07-26  
shaucle 写道
楼主得先补下数学。。。 (200W*0.1K = 200 M)




是,200M。
如果我再做点别的缓存,那算起来500M的话,我的系统不知道还行不行。。。
以前没有做过这方面的架构,请大家指教。
1 楼 shaucle 2007-07-26  
楼主得先补下数学。。。 (200W*0.1K = 200 M)

相关推荐

    hibernate一级缓存和二级缓存的区别与联系

    它是一个事务范围的缓存,也就是说,每个 Hibernate Session 对应一个一级缓存,仅在当前事务中有效。一级缓存主要存储了 Session 在当前事务中加载和修改的对象实例。当 Session 执行 CRUD 操作时,对象会自动放入...

    day37 05-HIbernate二级缓存:一级缓存更新同步到二级缓存及二级缓存配置文件

    当对象在一级缓存中被修改并提交后,Hibernate会根据配置将这些变化同步到二级缓存中。这个过程包括了更新、删除和插入操作。值得注意的是,对于删除操作,Hibernate不仅会移除相应对象,还会清除可能存在的关联对象...

    hibernate二级缓存所需要的 jar包

    在Java的持久化框架Hibernate中,二级缓存是提高数据访问效率的重要机制。它能够将经常访问的数据存储在服务器内存中,减少对数据库的直接访问,从而提升系统性能。本篇将详细介绍Hibernate二级缓存的概念、作用以及...

    hibernate二级缓存要导入的包

    在Java的持久化框架Hibernate中,二级缓存是提高数据访问效率的重要机制。它能够将经常访问的数据存储在内存中,避免频繁与数据库交互,从而提升应用性能。本压缩包提供的资源应该包含了实现Hibernate二级缓存所需的...

    hibernate的一级缓存和二级缓存

    二级缓存则是在SessionFactory级别,跨越多个Session,甚至整个应用进程或集群。这意味着,对于同一个SessionFactory创建的多个Session,如果执行相同的查询,可以共享二级缓存中的数据,减少了对数据库的访问。二级...

    Hibernate二级缓存配置详解

    总结来说,Hibernate的二级缓存是一个强大的性能优化工具,通过理解缓存的基本原理和配置细节,我们可以有效地利用缓存提高系统的响应速度,同时避免潜在的数据一致性问题。正确配置和使用二级缓存,是每个Hibernate...

    Hibernate二级缓存.doc

    ### Hibernate二级缓存详解 #### 一、概述与背景 Hibernate作为一款优秀的Java持久层框架,在提高开发效率的同时,也面临着性能优化的问题。缓存机制是解决这一问题的关键技术之一。Hibernate提供了两种缓存机制:...

    hibernate二级缓存

    基于给定的文件信息,我将从 Hibernate 二级缓存的角度生成相关知识点。 标题:Hibernate 二级缓存 描述:Hibernate 缓存机制是介于应用程序和物理数据源之间,用于降低应用程序对物理数据源访问的频次,从而提高...

    Hibernate_二级缓存总结

    在Hibernate框架中,缓存主要分为一级缓存和二级缓存。 **1. 一级缓存** 一级缓存是Session级别的,每个Session都有自己的缓存空间。当我们在Session内进行操作时,例如增删改查,这些操作的对象会被保存在一级缓存...

    二级缓存详解

    二级缓存是指在SessionFactory级别上维护的数据缓存,它不同于一级缓存(Session级别),一级缓存在每个Session实例中保存对象,而二级缓存则跨越多个Session,甚至整个应用实例。这意味着二级缓存可以在多个用户间...

    hibernate二级缓

    在Java的持久化框架Hibernate中,二级缓存是一个重要的性能优化手段。它能够显著提升应用的响应速度,通过存储经常访问的数据来减少数据库的I/O操作。本文将深入探讨Hibernate的二级缓存机制,以及如何使用Ehcache...

    Hibernate缓存策略(一级缓存、二级缓存).docx

    如果在关闭Session后重新打开并尝试加载相同对象,Hibernate将不再能从一级缓存中获取,而是重新执行SQL查询,这就是第二个测试示例中出现多条SQL的原因。 二级缓存,又称为SessionFactory缓存,是可选的,跨事务的...

    Hibernate一级缓存和二级缓存详解

    Hibernate中一级缓存的管理主要包括两个方面:当应用程序调用Session的save()、update()、savaeOrUpdate()、get()或load(),以及调用查询接口的list()、iterate()或filter()方法时,如果在Session缓存中还不存在相应...

    HIBERNATE的缓存机制

    在数据查找过程中,Hibernate会遵循以下顺序:首先查找一级缓存,接着是二级缓存,最后才是数据库。同样,当添加、更新或删除数据时,Hibernate也会同步更新缓存,以保持缓存与数据库数据的一致性。如果需要手动管理...

    Hibernate缓存技术研究

    - **定义**:第一级缓存是在`Session`范围内维护的一个缓存区域,它是事务级别的缓存,用于存储当前`Session`中加载或保存的对象状态。 - **特点**:第一级缓存是必须存在的,无法被禁用。对于同一个OID(对象标识符...

    Hibernate缓存深入详解

    Hibernate提供了两级缓存:一级缓存和二级缓存。一级缓存是Session级别的,而二级缓存则是SessionFactory级别的全局缓存。这两级缓存都位于持久化层,存储着数据库数据的拷贝。 **2. 一级缓存(Session缓存)** 一...

    用JBoss的TreeCache作为Hibernate的二级缓存

    标题中的“用JBoss的TreeCache作为Hibernate的二级缓存”指的是在Java应用程序中,使用JBoss TreeCache作为Hibernate框架的二级缓存机制。Hibernate是一个流行的开源对象关系映射(ORM)工具,它允许开发者使用面向...

Global site tag (gtag.js) - Google Analytics