Java两级缓存框架 J2Cache

Java两级缓存框架 J2Cache

Apache
Java
跨平台
开源中国
2014-01-07
红薯

J2Cache 是 OSChina 目前正在使用的两级缓存框架。第一级缓存使用 Ehcache,第二级缓存使用 Redis 。由于大量的缓存读取会导致 L2 的网络成为整个系统的瓶颈,因此 L1 的目标是降低对 L2 的读取次数。该缓存框架主要用于集群环境中。单机也可使用,用于避免应用重启导致的 Ehcache 缓存数据丢失。

J2Cache 的 Python 实现版本 —— Py3Cache

J2Cache 使用 JGroups 进行组播通讯。

J2Cache 介绍 PPT:http://www.oschina.net/doc/652

J2Cache JavaDoc: https://apidoc.gitee.com/ld/J2Cache/

视频介绍:http://v.youku.com/v_show/id_XNzAzMTY5MjUy.html

Maven:


  net.oschina.j2cache
  j2cache-core
  版本号

示例代码:

CacheChannel cache = J2Cache.getChannel();
cache.set("cache1","key1","OSChina.net");
cache.get("cache1","key1");

测试方法:

  1. 安装 Redis

  2. 修改 core/Java/j2cache.properties  配置使用已安装的 Redis 服务器

  3. 执行 build.sh 进行项目编译

  4. 运行多个 runtest.sh

  5. 直接在 runtest 输入多个命令进行测试

的码云指数为
超过 的项目
加载中

评论(112)

c
camelwolves
j2cache可以通过配置,不使用二级缓存吗,以适用某些单机环境下?当在多机环境下,改配置又能支持二级redis,代码不改动。 j2cache的redis的pub/sub机制,可以设定周期时间吗?
dep_wentao
dep_wentao
@红薯 请问J2Cache最大可以支持多大缓存,我现在Redis数据大概18G,请问J2Cache能用吗?
tengyz
tengyz
请问一下L1失效了,就从'L2一直读取,为什么'L2读取成功只放入L1,下次从L1读取?第一次使用请教大神
侯坤林
侯坤林
#J2Cache# 各位大兄弟能否过来帮看看, 把原始Tomcat项目转为SpringBoot时出现错误。但是Tomcat运行时正常的
xiaoshiyue
xiaoshiyue

引用来自“witt-z”的评论

😷
i6u
i6u
红薯
红薯 软件作者
社区的软件频道改版了也
红薯
红薯 软件作者
其实我知道,#J2Cache# 肯定不会上榜,毕竟热度不够,但也是优秀的开源软件。
小柒2012
小柒2012
为了推广自己的开源项目不惜开发一个网站,这种精神我是服的。
红薯
红薯 软件作者
为什么 #J2Cache# 这么优秀呢?

J2Cache 2.7.8 版本发布,近期小更新汇总

最近很忙很忙,J2Cache 一直没有大的动作,不过有来自社区的开发者贡献了几个小的 PR 。所以把这些小改动汇总一下发布 2.7.8 版本。该版本已经上传到 Maven 中央库。 主要是秀一下存在感,无...

06/14 10:36

J2Cache 的 Spring Boot 模块发布 2.7.6 版本

J2Cache 官方提供两个版本的 Spring Boot 模块,目前发布了 2.7.6 版本,主要改进:添加了一个可以开启关闭二级缓存的配置,并支持在spring配置中写j2cache的配置,并修复一些细小问题。 Ma...

2018/12/14 10:39

J2Cache 2.7.7 发布,Lettuce 增加连接池模式

J2Cache core 模块昨晚发布了 2.7.7 版本,该版本主要是针对之前的 Lettuce 支持进行了改进,增加了连接池支持,使其可以在高并发的环境下工作。同时升级 lettuce 到 5.1.3 版本。 可通过如下...

2018/12/13 07:42

J2Cache 2.7.6 发布,修复多实例和 Lettuce 问题

J2Cache 2.7.6 发布了,包括前面几个 2.7.5 和 2.7.4 ,该版本主要是修复两个问题: 同一个应用启用多 J2Cache 实例的数据隔离问题 启用 Lettuce 时无法设置 redis 数据 TTL 的问题 Maven: ...

2018/10/31 09:36

J2Cache 2.7.2 发布,解决多个实例并存问题

@红薯:当你碰到一个百思不得其解的奇怪问题,折腾半天搞不定的时候,这个问题基本上可以判断是因为一个愚蠢错误引起的。 ------- 华丽分割线 ------- J2Cache 2.7.2 版本更新了,该版本主要...

2018/10/16 06:26

J2Cache 新增 Hibernate 5 支持,感谢 @tandy 贡献

想了解 J2Cache 是一个什么开源项目,请阅读 这篇博客。 J2Cache 刚新增对 Hibernate 5 的支持,提供了 j2cache-hibernate5 模块,可以方便在 Hibernate 5 中启用 J2Cache 缓存。 该模块由 ...

2018/09/28 07:44

J2Cache 2.7.0 发布了,支持 Lettuce 替代 Jedis

J2Cache 2.7.0 在周末悄没声息的发布了!!! 该版本支持使用 Lettuce 替代 Jedis 连接 Redis ,目前二者并存,以后的版本可能会考虑直接替换掉 Jedis 。我之前不喜欢 Lettuce 是因为它依赖了...

2018/09/15 09:40

J2Cache 2.6.0 发布,支持分布式 session 存储管理

J2Cache 2.6.0 版本发布啦,该版本最最值得关注的就是支持分布式的 session 存储管理,支持不同的 Servlet 容器。 此外,该版本包含了如下小改动: 配置中对值包含空格的处理 CacheObject 允...

2018/09/13 07:41

J2Cache 2.5.5 发布,完善对 Sentinel 的 pub/sub 支持

J2Cache 2.5.5 发布了,该版本主要改进内容包括: 完善对 Redis Sentinel 的 pub/sub 支持 修复了 json 序列化不支持 java.sql.Date 和 java.sql.Timestamp 的问题 修复 Spring Boot 模块的序...

2018/09/06 12:01

J2Cache 2.5.2 发布,RabbitMQ/RocketMQ 消息同步

是的,我这几天偷偷的发布了几个版本,分别是 2.5.0、2.5.1 和今天舔着脸公开的 2.5.2 版本。 该版本值得关注的改进内容包括: 增加 Spring Cache 模块(感谢 @zuisong 的贡献) 支持通过消息...

2018/08/28 07:27

没有更多内容

加载失败,请刷新页面

12
回答
使用j2cache时报错,急需要解决?

使用j2cache时,缓存数据报如下错误,怎么解决? java.lang.RuntimeException: cannot support legacy ...

2018/08/28 16:43
1
回答
J2Cache java.lang.ClassNotFoundException: org.apache.commons.pool2.impl.GenericObjectPoolConfig

红薯您好: 我按照您的文档maven编译后执行runtest.bat,之后报错如下: F:\00_source\web\cache\J2Cache>mvn...

01/08 10:40
1
回答
关于J2Cache的一点疑问?

@红薯 薯哥您好,想跟你请教个问题: 看了你写的J2Cache,不得不佩服。我之前只用过redis的key--value形式来保存数据,J2Cache中有...

2018/12/29 16:36
2
回答
j2cache居然不支持集群的redis?

@红薯 是不是j2cache不支持集群模式的reids,我的redis是集群部署的,然后我看j2cache客户端好像用的是jedisclient,报异常r...

2018/07/10 19:08
1
回答
合并从缓存返回的List,引发缓存变空。

public static List<Record> getUserSubscribe(String dsname, Map<String, Object...

2018/08/24 11:18
3
回答
J2Cache的存储方式问题

1.j2cache是不是只能以hash方式存储呢? 2.我使用cacheChannel.set(),在redis客户端看value的时候 乱码"\xFC\...

2018/07/10 16:13
1
回答
j2cache节点同步方式是使用Jgroup还是redis得订阅方式好

@红薯 你好,想跟你请教个问题: j2cache节点同步方式是使用Jgroup还是redis得订阅方式好

2018/07/10 11:39
1
回答
j2cache的应用问题

关于j2cache的应用场景,只有比较简单的一句话= = 大量的缓存读取会导致 L2 的网络成为整个系统的瓶颈,因此 L1 的目标是降低对 L2 的读取次...

2018/07/05 17:29
1
回答
在项目中用J2cache,有一个问题.....

如果在项目中用J2Cache, 那 core\resources下的配置文件(比如caffeine.properties)可以用其他的东西来代替吗 ?如果...

2018/06/13 20:09
2
回答
J2Cache相关...

各位英雄好汉 , 请教诸位一些问题: 1. "从数据库中读取最新数据,依次更新 L1 -> L2 ,发送广播清除某个缓存信息 ,接收到广播(手工清除缓存 ...

2018/06/04 17:26

没有更多内容

加载失败,请刷新页面

高性能两级缓存J2Cache

之前写了一篇Spring Cache 使用redis 实现两级缓存,后来查资料发现目前已经有一个很完善的两级缓存开源项目J2Cache,作者是 开源中国:红薯 Demo地址:https://gitee.com/itsaysay/spring-c...

02/19 13:22
112
1
动态构建J2Cache以及注意事项

一直以来,我们都是将数据字典等信息放在Redis缓存中,避免使用的时候,穿透到数据库层面,同时提升性能。最近突然发现线上频繁出现Redis连接超时等异常,经过跟踪,发现新增了一个字典表,有...

2018/05/25 09:01
569
0
SpringBoot2 项目缓存从 Redis 切换到 j2cache

首先添加依赖,此处有坑。刚开始添加的是 <artifactId>j2cache-spring-boot-starter</artifactId>,一直报错,后来发现springboot2工程需要使用 <artifactId>j2cache-spring-boot2-starter</...

2018/09/28 10:27
1K
0
J2Cache 两级缓存中的 Region 到底是什么东西?

不时有人来询问 J2Cache 里的 Region 到底是什么概念,这里做统一的解答。 J2Cache 的 Region 来源于 Ehcache 的 Region 概念。 一般我们在使用像 Redis、Caffeine、Guava Cache 时都没有 Re...

04/03 10:55
2.1K
2
微服务的架构里应该使用 J2Cache 两级缓存框架

微服务真的很火,看看码云上那些基于各种 Spring Xxxx 的项目,不需要怎么推广就有很多人关注。其实我还是蛮好奇的,到底是什么样的应用在使用微服务,微服务适合什么规模的系统。因为火的都...

2018/06/09 22:17
1K
3
如何让 J2Cache 在多种编程语言环境中使用

现在的系统是越来越复杂了,不仅仅是功能复杂,系统结构也非常复杂,而且经常在一个系统里包含几种不同语言编写的子系统。例如用 JavaScript 做前端开发、用 Java/PHP 等等做后端,C/C++/Go ...

2018/10/17 09:04
2.9K
3
J2Cache 中使用 Lettuce 替代 Jedis 管理 Redis 连接

一直以来 J2Cache 都是使用 Jedis 连接 Redis 服务的。Jedis 是一个很老牌的 Redis 的 Java 开发包,使用很稳定,作者维护很勤勉,社区上能搜到的文章也非常非常多。算是使用范围最广的 Redi...

2018/10/17 07:30
2.8K
4
spring boot 2 整合 j2Cache

maven 配置: <dependency> <groupId>net.oschina.j2cache</groupId> <artifactId>j2cache-spring-boot2-starter</artifactId> <version>2.7.6-release</version> </dependency> <dependency...

06/28 20:16
18
0
J2Cache 和 JetCache 框架有何不同?

从软件名称看还有点像呢? 但这两者完全不是一回事! JetCache 是阿里的一个基于 Java 的缓存系统封装,提供统一的 API 和注解来简化缓存的使用。也就是说这个项目主要的目的是为了让所有的缓...

2018/12/14 14:51
2K
7
J2Cache 和 JetCache 框架迪士尼平台出售有何不同?

从软件名称看迪士尼平台出售 还有点像呢? 但这两者完全不是一回事! JetCache 是阿里的一个基于 Java 的缓存系统封装,提供统一的 API 和注解来简化缓存的使用。也就是说这个项目主要的目的...

2018/12/15 15:12
11
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部