tomcat集群中hibernate中用oscache做二级缓存,如果用read-write
,发现只更新本机的tomcat的缓存并不更新其他tomcat的,不知道为什么,
-------------------------------------------------------
GMS: address is 192.168.100.15:4272
-------------------------------------------------------
[2008-03-05 11:45:08,953]-INFO (JavaGroupsBroadcastingListener.java:189)|A new
member at address '192.168.100.15:4272' has joined the cluster
应该说明集群配置成功了,但是为什么不
下面是我的配置
UDP(mcast_addr=231.12.21.132;mcast_port=45566;ip_ttl=32;\
mcast_send_buf_size=150000;mcast_recv_buf_size=80000):\
PING(timeout=2000;num_initial_members=3):\
MERGE2(min_interval=5000;max_interval=10000):\
FD_SOCK:VERIFY_SUSPECT(timeout=1500):\
pbcast.NAKACK(gc_lag=50;retransmit_timeout=300,600,1200,2400,4800;max_xmit_size=8192):\
UNICAST(timeout=300,600,1200,2400):\
pbcast.STABLE(desired_avg_gossip=20000):\
FRAG(frag_size=8096;down_thread=false;up_thread=false):\
pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;shun=false;print_local_addr=true)
cache.cluster.multicast.ip=231.12.21.132
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.provider_class">
org.hibernate.cache.OSCacheProvider
</prop>
<prop key="hibernate.jdbc.batch_size">20</prop>
<prop key="hibernate.jdbc.fetch_size">25</prop>
</props>
</property>
[2008-03-05 11:56:20,875]-DEBUG (ReadWriteCache.java:85)|Cache hit: com.team.po
jo.User#0,
说明也更新缓存了,但是另外一台没反应
分享到:
相关推荐
首先,我们需要在Hibernate的配置文件(如`hibernate.cfg.xml`)中启用二级缓存并指定OSCache为缓存提供者。添加如下配置: ```xml <property name="hibernate.cache.use_second_level_cache">true ...
在使用 Hibernate OSCache 缓存之前,首先需要在项目中引入必要的依赖。将 `oscache.jar` 文件放入 `/WEB-INF/lib` 目录或相应的类库目录。同时,需要一个 `oscache.properties` 配置文件,通常放在项目的 `src` 根...
为了解决这个问题,我们可以利用OsCache来缓存最近查询过的天气信息,当有新的查询请求时,首先检查缓存中是否存在该数据,如果存在则直接返回,无需再次调用外部服务。 具体实现步骤如下: 1. 引入OsCache依赖:...
oscache是一款开源的Java缓存解决方案,其核心功能在于能够缓存Web应用中的动态内容,从而显著提升页面加载速度和服务器资源利用率。它通过在服务器端存储已生成的动态数据,避免了频繁的数据查询和页面渲染,有效...
1、OSCache是什么? 2、OSCache的特点 3、有关“用OSCache进行缓存对象”的研究
- **缓存对象**:osCache允许开发者将任何Java对象存储到缓存中,以便后续请求可以直接从内存中获取,而无需再次进行昂贵的数据库查询或其他计算操作。 - **缓存区域**:osCache支持多个缓存区域,每个区域可以有...
通过使用JMS(Java Message Service)或RMI(Remote Method Invocation)通信协议,oscache可以在集群中的不同节点之间同步缓存状态,确保数据的一致性。 在实际应用中,oscache通常与Spring框架集成,以实现更灵活...
在实际应用中,可能还需要考虑缓存同步问题。例如,当有多个服务器节点时,可以采用分布式缓存的方式,让多个节点共享同一份缓存数据。OSCache虽然不直接支持分布式缓存,但可以通过与其他分布式缓存服务(如Redis、...
在Hibernate中,二级缓存可以使用不同的提供商,例如Ehcache和OSCache。配置Ehcache作为二级缓存提供商,需要在Hibernate的配置文件中设置`hibernate.cache.provider_class`为`...
osCache是Java开发中常用的缓存框架之一,它主要用于提高应用程序的性能和效率,通过将数据存储在内存中,减少对数据库的访问。osCache不仅可以用于Web应用,也可以用于任何Java应用程序,支持集群环境,提供了丰富...
例如,在Hibernate中启用osCache,可以实现二级缓存,进一步提高ORM操作的效率。 7. **序列化支持**:osCache支持对象的序列化,这意味着不仅可以缓存基本类型和字符串,还可以缓存复杂的对象结构。 8. **性能优化...
- **集群范围**:在集群环境中,可能存在跨机器的缓存共享,需要考虑数据一致性问题。 **缓存策略** Hibernate提供了四种缓存并发控制策略: - **CacheConcurrencyStrategy.NONE**:无缓存策略,不进行任何缓存。 -...
- **配置**:启用二级缓存通常需要在`hibernate.cfg.xml`中配置`hibernate.cache.provider_class`属性,并指定一个缓存实现类,例如使用EhCache时配置如下: ```xml <property name="hibernate.cache.provider_...
在Hibernate框架中,一级缓存和二级缓存各自承担着不同的角色,通过合理的设计和配置,可以充分发挥缓存的优势,显著提升系统的性能和用户体验。在实际项目中,开发者应根据具体需求灵活运用这两种缓存机制,以达到...
在SSM项目中引入OScache,可以在服务器端对经常访问的页面进行缓存,提高页面加载速度,减轻服务器压力。配置OScache主要包括设置缓存策略、缓存范围以及缓存失效策略等。 【Freemarker模板】 Freemarker是一个基于...
1. 数据存储:osCache将数据存储在内存中的缓存区域,这些区域可以被细分为多个缓存,每个缓存有自己的设置和生命周期管理。 2. 过期策略:osCache支持时间基、引用计数和LRU(Least Recently Used)等多种过期策略...