📄 单体版本去掉Redis 依赖
内部资料,请刷新扫码登录
pigcloud
# 单体版本去掉Redis依赖
在一些场景下,不希望有 Redis 依赖,也有很多用户提出类似的诉求:
- 有大佬实现了不带 Redis 的版本了吗?
- 某个环境没有 Redis,所以需要把 Redis 给禁用掉?
但是,项目大量使用了 Redis 作为缓存、分布式锁、幂等性等功能,所以直接去除 Redis 会导致项目无法正常运行。
不过,我们可以换个思路,使用 redis-mock库,在项目启动时,自动启动一个 Mock 的 Redis 服务,这样就可以实现不依赖 Redis 的运行。
# 1. 如何启动?
# ① 在 pigx-boot 模块的 pom.xml 文件中,添加 redis-mock 依赖:
<dependency>
<groupId>com.github.microwww</groupId>
<artifactId>redis-server</artifactId>
<version>0.3.3</version>
</dependency>
然后,记得需要在 IDEA 中,刷新 Maven 依赖。
# ② 在 PigxBootApplication 的 main 方法的开头,添加"启动 Redis 服务"的如下代码:
public class PigxBootApplication {
@SneakyThrows
public static void main(String[] args) {
RedisServer redisServer = new RedisServer();
redisServer.listener("127.0.0.1", 6379);
SpringApplication.run(PigxBootApplication.class, args);
}
}
# ③ 验证效果
打开管理后台,进行登录测试。如果登录成功,说明 Redis 已经被成功替换。
# 2. 注意事项
重要提醒
- 缓存监控模块不可用:因为本质上这个 mock 不是真正的 Redis,所以依赖 Redis 特性的监控功能会失效
- 功能限制:mock Redis 可能不支持所有 Redis 命令和特性
# Q: 哪些功能会受到影响?
A: 主要是缓存监控、Redis 管理工具等