Skip to content

如何去除 Redis 缓存 ​

在一些场景下,不希望有 Redis 依赖,也有很多用户提出类似的诉求:

# 1. 如何启动? ​

① 在 yudao-server 模块的 pom.xml 文件中,添加 jedis-mock 依赖: com.github.fppt jedis-mock 1.1.2 然后,记得需要在 IDEA 中,刷新 Maven 依赖。 ② 在 YudaoServerApplication 的 main 方法的开头,添加“启动 Redis 服务”的如下代码: import com.github.fppt.jedismock.RedisServer; public class YudaoServerApplication { public static void main(String[] args) { // 启动 Redis 服务 RedisServer redisServer = new RedisServer(6379); try { redisServer.start(); } catch (IOException e) { throw new RuntimeException(e); } SpringApplication.run(YudaoServerApplication.class, args); } } 之后,启动 YudaoServerApplication 即可。 ③ 打开管理后台,进行登录测试。如果登录成功,说明 Redis 已经被成功替换。

# 2. 常见问题? ​

① 启动的时候,出现如下的报错信息,可以直接忽略。 2024-09-02 09:34:03.166 | WARN 57508 | redisson-netty-1-2 [TID: N/A] o.s.b.a.d.r.RedisReactiveHealthIndicator | Redis health check failed java.lang.IllegalArgumentException: Value must not be null at org.springframework.util.Assert.notNull(Assert.java:172) at org.springframework.boot.actuate.health.Health$Builder.withDetail(Health.java:247) at org.springframework.boot.actuate.data.redis.RedisHealth.up(RedisHealth.java:37) at org.springframework.boot.actuate.data.redis.RedisReactiveHealthIndicator.up(RedisReactiveHealthIndicator.java:73) at org.springframework.boot.actuate.data.redis.RedisReactiveHealthIndicator.lambda$getHealth$4(RedisReactiveHealthIndicator.java:69) ② 如果你在多个主机上部署了 Java 服务,无法使用这个方案。如果你在一个主机上部署了多个 Java 服务,可以使用这个方案。 原因是:jedis-mock 是在当前主机上启动的 Redis 服务,无法在多个主机上共享。

最近更新