1、问题描述:目前的oscache的每个GeneralCacheAdministrator只能管理一个cache,而oscache的对象个数容量限制是针对cache的,所以相当于针对GeneralCacheAdministrator的,由于受java内存管理的限制,很多时候发现大对象需要缓存的少一些,小对象缓存的多一些,不同类型的对象的策略不同,而如果根据不同的策略启动不同的GeneralCacheAdministrator时,在集群情况下,会占用很多的udp端口,无为的增加jgroups成员,感觉有些浪费。有鉴于此,将原来的开源的oscache进行了修改,适应GeneralCacheAdministrator可以管理多个cache的功能,依然开源。呵呵
2、解决方法:
a、将GeneralCacheAdministrator的cache成员修改成map类型;
b、在配置文件oscache_config.properties中增加属性:caches=xxx1,20;xxx2,30;xxx3,40
c、修改spring-modules-cache的源文件(v0.8),能够适应增加的caches属性,附源码,只对oscache
d、修改spring配置文件:增加cachename属性,匹配上面提到的caches
<property name="cachingModels">
<props>
<prop key="getxxx">cachename=xxx1;groups=mygroup1</prop>
</props>
</property>
<property name="flushingModels">
<props>
<prop key="setxxx">cachename=xxx1;groups=mygroup1</prop>
</property>
可能现在很少人使用这个古董了,但是阻挡不了我的热情。
要是对你有用,请跟贴留名吧。哈哈
分享到:
相关推荐
1、OSCache是什么? 2、OSCache的特点 3、有关“用OSCache进行缓存对象”的研究
oscache的主要功能是提供对象级别的缓存,这意味着它可以存储任何Java对象,并且支持多种缓存策略,如LRU(Least Recently Used)和FIFO(First In First Out)。这些策略确保了内存的有效利用,防止缓存溢出。 ...
OSCache 是一个开源的缓存解决方案,主要用于Java应用程序,它提供了高效的对象缓存功能,能够显著提高应用的性能。在本文中,我们将深入探讨OSCache的核心特性、工作原理以及如何在实际项目中有效利用它。 OSCache...
这使得我们可以针对不同类型的对象设置不同的缓存策略。 - **过期策略**:osCache提供了多种缓存过期策略,包括基于时间的过期、基于引用计数的过期以及LRU(Least Recently Used)算法等,确保缓存中的数据保持...
osCache的核心功能是提供了一个内存中的对象缓存系统,通过将常用数据暂存到内存中,避免了频繁的数据库查询,从而显著提升应用程序的性能。 在开始配置osCache之前,我们需要了解其基本概念和工作原理。osCache...
OSCache的核心功能是提供内存中的对象缓存,它支持两种主要的缓存模式:本地缓存和分布式缓存。本地缓存适用于单服务器环境,而分布式缓存在多服务器环境下能确保数据的一致性。此外,OSCache还提供了缓存的过期策略...
它支持缓存对象、集合、Map等各种数据类型,并提供了缓存过期、刷新策略等高级特性。 二、osCache工作原理 1. 数据存储:osCache将数据存储在内存中的缓存区域,这些区域可以被细分为多个缓存,每个缓存有自己的...
OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何Java应用程序的普通的缓存...
在这个特定的案例中,`oscache.tld` 提供了关于OSCache JSP标签的元数据,如标签的名称、属性、行为等,使得开发者能够在JSP页面上方便地使用OSCache提供的缓存功能。 `oscache.properties` 是OSCache的配置文件,...
osCache的核心功能包括对象缓存、页面缓存以及分布式缓存,使得在大型Java应用系统中能够更有效地管理内存资源。** **1. 对象缓存:** osCache允许开发者将Java对象存储到内存中,以避免每次需要这些对象时都去重新...
`osCache`提供了一套完整的API,允许开发者方便地集成到他们的应用中,包括添加、更新、检索和删除缓存中的对象,以及设置缓存策略,如过期时间、缓存大小限制等。 `commons-logging.jar`是Apache Commons Logging...
本实例将介绍如何结合Hibernate和OSCache实现二级缓存,以优化应用程序的性能。 一级缓存是Hibernate内置的Session级别的缓存,它存储了在同一个Session内操作的对象,避免了频繁的数据库读写。然而,一级缓存仅...
此外,OSCache还提供了缓存分组和缓存区域的概念,便于管理多个不同类型的缓存。通过设置不同的缓存区域,可以实现不同业务场景下的缓存策略。 在实际应用中,可能还需要考虑缓存同步问题。例如,当有多个服务器...
javaweb做页面缓存常用,OSCache是一个工业级的J2EE缓存实现。OSCache不但能缓存java对象,还可以缓存页面,http请求和二进制内容,...通过应用OSCache,我们不但可以实现通常的Cache功能,还能够改善系统的稳定性。
开发者可以研究源码来理解osCache的工作原理,并且在必要时进行定制或扩展。 6. **lib**:依赖库目录,可能包含了osCache运行所需的其他第三方库文件,例如log4j等日志框架,这些库文件是osCache正常运行所必需的,...
### Oscache框架的搭建与应用详解 在现代Web开发中,缓存技术是提升...Oscache不仅简化了缓存机制的实现,还提供了丰富的定制选项,使得开发者能够根据具体需求灵活调整缓存策略,从而优化用户体验和服务器资源利用。
- **集群支持**:在分布式环境中,osCache可以实现多节点间的缓存同步,确保数据一致性。 - **缓存预热**:允许在应用启动时加载预定义的数据到缓存,提高应用启动速度。 - **缓存监听器**:可以通过监听器来监控...
6. **`maxElementsInMemory`**: 缓存可以存储在内存中的最大对象数量。当超过此限制时,根据所选择的溢出策略,对象可能会被移除或写入磁盘。 7. **`overflowToDisk`**: 如果设为 `true`,当内存中的元素达到 `...