J2Cache 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
J2Cache 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
J2Cache 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 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 输入多个命令进行测试

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(122) 发布并加入讨论🔥
发表了资讯
2022/04/21 09:22

天杀的他们居然说 J2Cache 有后门,2.8.5 给它关上!

昨天有个朋友的公司要用 J2Cache ,然后用公司的一些工具对这个项目检测,居然发现 J2Cache 暗藏后门!!! 而且还截图给我看,如下图: 我的天啊,jansi.dll 我第一眼看到的这个名字以为是 : 监视.dll 原来是 J2Cache 使用的一个三方依赖 jline 包里包含了这个“后门”。不过大家也不用担心,因为 J2Cache 用 jline 只是一个测试小工具,用来对两级缓存进行测试的,实际作为缓存使用的时候并不会用到。 没有必要依赖这个项目,...

28
7
发表于开发技能专区
2020/04/26 17:21

J2Cache 2.8.2 发布,修复 Lettuce 使用 Redis 集群 Bug

J2Cache 2.8.2 发布了,该版本改进记录如下 修复在使用redis-cluster时redisClient未初始化导致NPE @vasin_liu redis二级缓存的keys、clear方法使用scan命令实现(以应对云平台Redis服务对keys命令的限制) @eddy Maven: <dependency> <groupId>net.oschina.j2cache</groupId> <artifactId>j2cache-core</artifactId> <version>2.8.2</version> </dependency>...

8
4
发表于软件架构专区
2020/04/16 09:45

J2Cache 2.8.1 发布,修复 Redis 密码特殊符号 Bug

J2Cache 2.8.1 发布了,该版本修复了一个 Bug:修复redis使用lettuce连接时,设置密码中出现特殊字符'@'时连接地址及密码解析出错的异常。 感谢 @eddy 的贡献。 Maven: <dependency> <groupId>net.oschina.j2cache</groupId> <artifactId>j2cache-core</artifactId> <version>2.8.1</version> </dependency>...

6
4
发表于AI & 大数据专区
2019/12/27 10:55

J2Cache 2.8.0 发布,修复 Caffeine 导致 Redis 数据量限制问题

J2Cache 2.8.0 发布了,该版本最值得关注的是使用 Caffeine 作为 L1 时,会导致 Redis 上的数据被限制到 Caffeine 定义的缓存数量。如果你在使用 Caffeine 作为 L1 时,请尽快升级到该版本。 例如当我们定义一个缓存 default = 1000, 30m 那么 Redis 相应的缓存数据就无法超过 1000 。详情请看 https://gitee.com/ld/J2Cache/issues/I17E0A 其他还有一些小问题的修复,建议升级。 Maven: <dependency> <groupId>net.osc...

9
5
发表于软件架构专区
2019/06/14 10:36

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

最近很忙很忙,J2Cache 一直没有大的动作,不过有来自社区的开发者贡献了几个小的 PR 。所以把这些小改动汇总一下发布 2.7.8 版本。该版本已经上传到 Maven 中央库。 主要是秀一下存在感,无他! Maven: <dependency> <groupId>net.oschina.j2cache</groupId> <artifactId>j2cache-core</artifactId> <version>2.7.8-release</version> </dependency> 如果你当前使用无任何问题,不需要更新。 老规矩,点赞是参与开...

9
6
发表于AI & 大数据专区
2018/12/14 10:39

J2Cache 的 Spring Boot 模块发布 2.7.6 版本

J2Cache 官方提供两个版本的 Spring Boot 模块,目前发布了 2.7.6 版本,主要改进:添加了一个可以开启关闭二级缓存的配置,并支持在spring配置中写j2cache的配置,并修复一些细小问题。 Maven: Spring Boot 1.x <dependency>   <groupId>net.oschina.j2cache</groupId>   <artifactId>j2cache-spring-boot-starter</artifactId>   <version>2.7.6-release</version> </dependency> Spring Boot 2.x <dependency>  ...

4
11
发表于软件架构专区
2018/12/13 07:42

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

J2Cache core 模块昨晚发布了 2.7.7 版本,该版本主要是针对之前的 Lettuce 支持进行了改进,增加了连接池支持,使其可以在高并发的环境下工作。同时升级 lettuce 到 5.1.3 版本。 可通过如下配置进行调整: lettuce.maxTotal = 100 lettuce.maxIdle = 10 lettuce.minIdle = 10 Jedis 和 Lettuce 是 Redis 的两大 Java 客户端开发包。J2Cache 默认用的是 Jedis ,从 2.7.0 版本开始支持 Lettuce 。Lettuce 和 Jedis 最大...

6
8
发表于AI & 大数据专区
2018/10/31 09:36

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

J2Cache 2.7.6 发布了,包括前面几个 2.7.5 和 2.7.4 ,该版本主要是修复两个问题: 同一个应用启用多 J2Cache 实例的数据隔离问题 启用 Lettuce 时无法设置 redis 数据 TTL 的问题 Maven: <dependency>   <groupId>net.oschina.j2cache</groupId>   <artifactId>j2cache-core</artifactId>   <version>2.7.6-release</version> </dependency> 仓库地址:https://gitee.com/ld/J2Cache...

9
0
发表于AI & 大数据专区
2018/10/16 06:26

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

@红薯:当你碰到一个百思不得其解的奇怪问题,折腾半天搞不定的时候,这个问题基本上可以判断是因为一个愚蠢错误引起的。 ------- 华丽分割线 ------- J2Cache 2.7.2 版本更新了,该版本主要更新内容包括: 新增使用 Lettuce 时对 Redis Cluster 模式的支持 修复 Lettuce key 解码错误的问题 解决多个 CacheChannel 实例并存的问题 解决使用 jedis 时无法通过 CacheChannelTest 单元测试的问题 CacheChannel 增加关闭状态的判断...

11
5
发表于服务端专区
2018/09/28 07:44

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

想了解 J2Cache 是一个什么开源项目,请阅读 这篇博客。 J2Cache 刚新增对 Hibernate 5 的支持,提供了 j2cache-hibernate5 模块,可以方便在 Hibernate 5 中启用 J2Cache 缓存。 该模块由 @tandy 贡献,目前是 1.0 Beta1 版本 Maven: <dependency>   <groupId>net.oschina.j2cache</groupId>   <artifactId>j2cache-hibernate5</artifactId>   <version>1.0.0-beta1</version> </dependency> 很久没有玩 Hibernate ...

10
2
发表于AI & 大数据专区
2018/09/15 09:40

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

J2Cache 2.7.0 在周末悄没声息的发布了!!! 该版本支持使用 Lettuce 替代 Jedis 连接 Redis ,目前二者并存,以后的版本可能会考虑直接替换掉 Jedis 。我之前不喜欢 Lettuce 是因为它依赖了一个大的第三方包 —— Netty 。但是从使用角度来看,用 Lettuce 的代码量要比 Jedis 小很多。而且 Spring Config 相关项目也是使用 Lettuce 。 如果想在 J2Cache 中使用 Lettuce 的话,需要指定二级缓存: j2cache.L2.provider_class ...

18
9
发表于服务端专区
2018/09/13 07:41

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

J2Cache 2.6.0 版本发布啦,该版本最最值得关注的就是支持分布式的 session 存储管理,支持不同的 Servlet 容器。 此外,该版本包含了如下小改动: 配置中对值包含空格的处理 CacheObject 允许在其他包内使用,并增加支持默认值的属性读取 增加 removeRegion 方法 优化创建 region 的锁机制 支持多种配置读取方式 Maven <dependency>     <groupId>net.oschina.j2cache</groupId>     <artifactId>j2cache-core</art...

26
5
发表于AI & 大数据专区
2018/09/06 12:01

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

J2Cache 2.5.5 发布了,该版本主要改进内容包括: 完善对 Redis Sentinel 的 pub/sub 支持 修复了 json 序列化不支持 java.sql.Date 和 java.sql.Timestamp 的问题 修复 Spring Boot 模块的序列化问题 Maven <dependency>     <groupId>net.oschina.j2cache</groupId>     <artifactId>j2cache-core</artifactId>     <version>2.5.5-release</version> </dependency> 想了解 J2Cache 和普通的缓存框架有何区别...

12
1
发表于服务端专区
2018/08/28 07:27

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

是的,我这几天偷偷的发布了几个版本,分别是 2.5.0、2.5.1 和今天舔着脸公开的 2.5.2 版本。 该版本值得关注的改进内容包括: 增加 Spring Cache 模块(感谢 @zuisong 的贡献) 支持通过消息服务器来分发缓存消息(目前支持 RabbitMQ 和 RocketMQ) 将 XxxxClusterPolicy 类移至 cluster 包,并对基础类进行优化,减少代码量 此次增加对两个 MQ 服务器的支持,是为了满足个别人认为 Redis 的 Pub/Sub 不够可靠的问题。但其实我...

21
10
发表于软件架构专区
2018/08/17 06:35

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

相信多数人都会遇到这样情况,我们在使用诸如 Redis 缓存一些 Java 对象时,后期我们更新程序,对对象的属性进行调整时,会导致读取缓存数据的时候,出现反序列化失败的情况。所以一般我们在出现对需要缓存的 Bean 类做调整的时候,需要实现清除缓存数据,这给实际运维带来不必要的麻烦。 而最新的 J2Cache 2.4.2 版本解决了这个问题,在进行反序列化时,一旦出现因为类的版本不同导致的反序列化失败,那么该缓存数据会被启动清...

13
6
发表于AI & 大数据专区
2018/08/14 07:40

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

J2Cache 上一个版本 2.4.0 我们首次引入了对 JSON 序列化的支持,JSON 序列化是基于 FST 实现的类型无关的序列化技术。JSON 的对象序列化为 J2Cache 实现跨语言支持奠定了基础。 但是 FST 在序列化时,一些诸如类型、对象等元数据用的字段名称经常会有缓存对象的名称有冲突,例如 FST 用 typ 来标识对象的类型,用 obj 来标识对象本身等。为了能与正常对象的属性名区分开,这次 2.4.1 版本对这些元数据名称进行了重新定义,如下...

11
6
发表于AI & 大数据专区
2018/08/02 11:54

J2Cache 2.4.0 发布,支持 JSON 序列化体验

J2Cache 2.4.0 发布了,该版本统一了各个模块的版本号,完善了 Spring Boot 的支持。最最值得关注的是 J2Cache 2.4.0 的序列化方案中增加了对 JSON 的支持。 可通过 j2cache.serialization = json 配置来启用,目前该序列化方案还在测试阶段,欢迎大家测试并反馈结果。 使用 json 的优点是可以实现缓存的跨语言调用,也就是说通过 J2Cache 写入缓存的数据,也可以用其他语言进行读取。缺点就是序列化的速度要慢一点,序列化后的...

12
4
发表于软件架构专区
2018/07/31 08:29

J2Cache 2.3.23 发布,支持 memcached 二级缓存

J2Cache 有日子没 Bug 了,为了制造点 Bug ,决定增加点新特性,于是 2.3.23 就横空出世了! 新版本最值得关注的改进包括: 支持使用 memcached 作为二级缓存 Spring Boot 模块的更新 (详细列表) memcache 的客户端使用国人开发的 Xmemcached。 需要注意的是: 因为 memcached 不像 redis 支持 Pub/Sub 订阅机制,所以如果二级缓存使用 memcached ,而又没有 redis 的情况下,广播方式应该选择 jgroups。 欢迎前往 https://gi...

18
0
发表于开发技能专区
2018/07/03 16:03

J2Cache 2.3.22 发布,又发现 Bug 建议更新

J2Cache 有日子没更新了,作为史上第一个两级 Java 缓存框架,也是最棒的两级 Java 缓存框架(我就违反广告法了,你能把我咋地),Bug 是不容许存在滴! 所以无聊的时候我增加了一些单元测试代码,结果就啪啪的打脸了! 发现的 Bug 集中在使用 loader 参数的 get 方法中,由于代码的逻辑错误导致 loader 没有正确的被触发。这个 loader 函数是用来加载外部数据。 最新发布的 2.3.22 已经修复了这个错误: <dependency>     ...

29
5
发表于AI & 大数据专区
2018/05/24 08:01

J2Cache 2.3.20 封箱版发布,要开始 3.x 跨语言支持了

我说你们咋那么讨厌呢,每次喷我都喷得那么准! 日前 J2Cache 已经修复了 2.x 的最后一个很小很小的 Bug(详情),发布了这个 2.3.20 版本。这将会是 2.x 的最后一个更新版本。 Maven: <dependency>     <groupId>net.oschina.j2cache</groupId>     <artifactId>j2cache-core</artifactId>     <version>2.3.20-release</version> </dependency> 接下来 J2Cache 会转入全新的 3.x 计划。3.x 计划是要实现跨语...

33
5
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
122 评论
867 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部