原 荐 SpringBoot2 项目缓存从 Redis 切换到 j2cache

栏目: Java · 发布时间: 6年前

原 荐 SpringBoot2 项目缓存从  <a href='https://www.codercto.com/topics/18994.html'>Redis</a>  切换到 j2cache

SpringBoot2 项目缓存从 Redis 切换到 j2cache

  JillLiu 发布于 3分钟前

字数 513

阅读 0

收藏 0

RedisClient Redis J2Cache Lettuce Spring Boot

开发十年,就只剩下这套 Java 开发体系了 >>> 原 荐 SpringBoot2 项目缓存从 Redis 切换到 j2cache

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

<dependency>
	<groupId>net.oschina.j2cache</groupId>
	<artifactId>j2cache-spring-boot2-starter</artifactId>
	<version>2.7.0-release</version>
	<exclusions>
		<exclusion>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
		</exclusion>
	</exclusions>
</dependency>

之前配置的缓存管理器及缓存RedisTemplate等 工具 都是基于Redis、Jedis的,使用了j2cache的starter后,之前的缓存配置基本上已经没有用了,需要注释掉。

之前加的spring-session-data-redis,也需要去掉或者使用使用j2cache作为缓存,也可以切换到j2cache的session方案(暂时没有尝试)。

<dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-data-redis</artifactId>
        </dependency>

原cache工具类:

@Component("redisCacheUtil")
public class RedisCacheUtilImpl<T> implements RedisCacheUtil<T> {
    @Autowired
    CacheManager cacheManager;
}

修改后:

@Component("redisCacheUtil")
@ConditionalOnClass(J2CacheAutoConfiguration.class)
@AutoConfigureAfter(J2CacheCacheManger.class)
public class RedisCacheUtilImpl<T> implements RedisCacheUtil<T> {
    private static final Logger log = LoggerFactory.getLogger(RedisCacheUtilImpl.class);

    @Autowired
    J2CacheCacheManger cacheManager;
}

这里可能会报cacheManager Could not autowire,没关系,不影响。

springboot项目天生可以区分运行环境,我们可以使用j2cache-${spring.profiles.active}.properties来引用不同环境的配置。在application.yml中配置增加:

spring:
  cache:
    type: none // 原先使用redis,现在改为none
j2cache:
  config-location: /j2cache-${spring.profiles.active}.properties
  redis-client: lettuce
  open-spring-cache: true

我们使用的redis-client为lettuce,并开启spring cache。 在j2cache.properties中,我们重点针对性修改配置:

// 广播策略
j2cache.broadcast = net.oschina.j2cache.cache.support.redis.SpringRedisPubSubPolicy
// 一级缓存使用caffeine
j2cache.L1.provider_class = caffeine
// 二级缓存使用lettuce,和redis-client对应
j2cache.L2.provider_class = lettuce
// L2配置
j2cache.L2.config_section = redis
// redis缓存序列化方式,不建议配置为json,如果父类和子类有同样的属性(id),在序列化的json中会出现两个id属性,其中一个为空。使用fastjson没有此问题。另外,本人认为使用json序列化比类序列化更好,可以做到更好的反序列化兼容。
j2cache.serialization = fastjson
// caffeine的配置文件位置,缓存数量及超时时间可以在里面配置
caffeine.properties = /caffeine.properties

© 著作权归作者所有

共有人打赏支持

原 荐 SpringBoot2 项目缓存从 Redis 切换到 j2cache

JillLiu

粉丝 8

博文 13

码字总数 2856

作品 0

西安

高级程序员

相关文章 最新文章

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

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

红薯

09/15

0

0

J2Cache 新增 Mybatis 支持模块,代码少到没 Bug

花了点时间撸了个 MyBatis 的 J2Cache 支持模块,含注释共八十多行代码 (J2CacheAdapter.java),再有 Bug 我就真的要退役了。 使用方法很简单,请看 https://gitee.com/ld/J2Cache/tree/mast...

红薯

05/15

0

30

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

0

0

J2Cache 2.3.12 发布,支持二级缓存只读模式

J2Cache 推出至今,已有多人希望能提供二级缓存只读模式,相当于应用只能从 Redis 二级缓存读取数据,而不允许写入任何数据,包括当一级缓存失效时也不能去清除二级缓存的数据。这样的开发者...

红薯

04/27

0

0

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

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

红薯

今天

0

1

没有更多内容

加载失败,请刷新页面

加载更多
Django 学习笔记

datetime设置为当前时间:create_date = models.DateTimeField(auto_now=True); 数据库时间不匹配问题:修改settings.py 的配置 USE_TZ=False; 生成的数据库表自定义:在models.py中添加如下...

年轻的中年大叔

14分钟前

1

0

一次有趣的 php json_decode error 分析

之前同事问了我一个有趣的问题,说为什么这个 json 字符串从缓存里读出来可以解析,但是作为一个 php 变量却解析错误呢? 先看一个我已经简化了的例子 $str = "\\";$j = json_encode($str)...

anoty

17分钟前

3

0

原 荐 SpringBoot2 项目缓存从 Redis 切换到 j2cache
How to Backup SAP HANA Database using Command Line

How to Backup SAP HANA Database using Command Line Updated on January 7, 2014 by Rahul K. Databases SAP HANA is an in-memory data platform that is deployable as an on-premise ap......

rootliu

17分钟前

1

0

渐进式Web应用程序的深入概述

转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 原文出处:https://www.grapecity.com.cn/blogs/wijmo-depth-overview-progressive-web-app...

葡萄城技术团队

26分钟前

2

0

原 荐 SpringBoot2 项目缓存从 Redis 切换到 j2cache
关于Greenplum的一些事儿

Greenplum是什么鬼?干啥用的?能吃吗? 下面是来自官网的一段英文: 大概翻译一下: Greenplum Database是一个大规模并行处理(MPP)数据库服务器,其架构专门用于管理大规模分析数据仓库和...

AmCoder

28分钟前

1

0

原 荐 SpringBoot2 项目缓存从 Redis 切换到 j2cache

没有更多内容

加载失败,请刷新页面

加载更多

以上所述就是小编给大家介绍的《原 荐 SpringBoot2 项目缓存从 Redis 切换到 j2cache》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Maven实战

Maven实战

许晓斌 / 机械工业出版社 / 2010年12月 / 65.00元

你是否早已厌倦了日复一日的手工构建工作?你是否对各个项目风格迥异的构建系统感到恐惧?Maven——这一Java社区事实标准的项目管理工具,能帮你从琐碎的手工劳动中解脱出来,帮你规范整个组织的构建系统。不仅如此,它还有依赖管理、自动生成项目站点等超酷的特性,已经有无数的开源项目使用它来构建项目并促进团队交流,每天都有数以万计的开发者在访问中央仓库以获取他们需要的依赖。 本书内容全面而系统,Ma......一起来看看 《Maven实战》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具