Java两级缓存框架 J2Cache

J2Cache Java两级缓存框架

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 输入多个命令进行测试

加载中

评论(109)

xiaoshiyue
xiaoshiyue

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

:mask:
witt-z
witt-z
红薯
红薯
社区的软件频道改版了也
红薯
红薯
其实我知道,#J2Cache# 肯定不会上榜,毕竟热度不够,但也是优秀的开源软件。
小柒2012
小柒2012
为了推广自己的开源项目不惜开发一个网站,这种精神我是服的。
红薯
红薯
为什么 #J2Cache# 这么优秀呢?
红薯
红薯
#J2Cache# 宣布支持 java 11 13
咏蛙
牛逼,加油啊
红薯
红薯
公司开吐槽大会,已经有两个人吐槽 #J2Cache# 的缓存有时候就是清不掉
Sel8616
Sel8616
J2cache可以只用一级么?

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

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

10/31 09:36

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

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

10/16 06:26

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

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

09/28 07:44

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

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

09/15 09:40

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

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

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 模块的序...

09/06 12:01

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

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

08/28 07:27

J2Cache 2.4.2 发布,缓存对象不兼容时自动清除

相信多数人都会遇到这样情况,我们在使用诸如 Redis 缓存一些 Java 对象时,后期我们更新程序,对对象的属性进行调整时,会导致读取缓存数据的时候,出现反序列化失败的情况。所以一般我们在...

08/17 06:35

J2Cache 2.4.1 发布,增强 JSON 序列化体验

J2Cache 上一个版本 2.4.0 我们首次引入了对 JSON 序列化的支持,JSON 序列化是基于 FST 实现的类型无关的序列化技术。JSON 的对象序列化为 J2Cache 实现跨语言支持奠定了基础。 但是 FST 在...

08/14 07:40

没有更多内容

加载失败,请刷新页面

2
回答
j2cache居然不支持集群的redis?

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

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

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

08/24 11:18
8
回答
使用j2cache时报错,急需要解决?

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

08/28 16:43
3
回答
J2Cache的存储方式问题

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

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

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

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

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

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

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

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

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

06/04 17:26
2
回答
关于J2cache ...

刚刚开始接触红薯大大的J2cache,在此感谢! 请教大家关于j2cache的一些问题: 1. j2cache的优缺点是什么呢? 2.它适用于什么场景,该...

06/01 12:25
2
回答
j2cache如何存hash

@红薯 你好,想跟你请教个问题: 我用j2cache存数据,string类型的正常,但是我想存hash格式的,也给我处理成string了,想问下是不是我的...

05/18 10:18

没有更多内容

加载失败,请刷新页面

动态构建J2Cache以及注意事项

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

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

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

09/28 10:27
722
0
微服务的架构里应该使用 J2Cache 两级缓存框架

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

06/09 22:17
612
3
J2Cache 和普通缓存框架有何不同,它解决了什么问题?

不少人看到 J2Cache 第一眼时,会认为这就是一个普普通通的缓存框架,和例如 Ehcache、Caffeine 、Spring Cache 之类的项目没什么区别,无非是造了一个新的轮子而已。事实上完全不是一回事!...

08/21 14:15
5.7K
33
如何让 J2Cache 在多种编程语言环境中使用

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

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

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

10/17 07:30
714
0
J2Cache 没有 Redis 也可以实现多节点的缓存同步

J2Cache 是一个两级的缓存框架,第一级是基于内存的数据缓存,支持 caffeine、ehcache2 和 ehcache3 ,二级缓存只支持 redis。 在某些生产环境中你可能没有 redis,但是又希望多个应用节点间...

07/27 17:34
386
1
优化Ubuntu网络系统内核

在 Linux 下使用 J2Cache 时候需要修改系统的网络内核参数,对应文件 /etc/sysctl.conf,增加如下几行 net.core.rmem_max = 26214400 25M net.core.wmem_max = 655360 640K 主要是使用J2Cac...

2015/05/18 15:30
17
0
如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

09/21 01:28
1K
6
吐槽一下J2Cache

呵呵,久闻J2Cache的大名,呵呵今天有点时间看了下,介个就犹豫不决了,是踩呢还是不踩呢?踩了@红薯 会不会封我的号呀,呵呵,最后想半天,最帅的红薯心胸宽广得像大海一样,那还等啥,踩吧...

2015/03/23 18:15
11.7K
9

没有更多内容

加载失败,请刷新页面

返回顶部
顶部