项目中使用了mongoDB,但是经常mongodb的服务器崩溃,然后启动项目的时候就会因为无法初始化Mongtemplete而启动失败
这里想问一个解决方法,项目中有个接口是查mongodb的,在目前代码基础上
怎么样不管mongodb是否挂了,都能启动项目,没挂的时候启动了让接口可以用
mongodb挂了的话接口用不了就是了
或者大家是怎么处理这些情况呢,因为说是什么要保证项目尽量对除了数据库意外的东西弱依赖????
求解
项目中使用了mongoDB,但是经常mongodb的服务器崩溃,然后启动项目的时候就会因为无法初始化Mongtemplete而启动失败
这里想问一个解决方法,项目中有个接口是查mongodb的,在目前代码基础上
怎么样不管mongodb是否挂了,都能启动项目,没挂的时候启动了让接口可以用
mongodb挂了的话接口用不了就是了
或者大家是怎么处理这些情况呢,因为说是什么要保证项目尽量对除了数据库意外的东西弱依赖????
求解
我这边的项目用的 Redis,POM包是
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
对象获取
/**
* REDIS
*/
private final StringRedisTemplate redisTemplate;
private final ValueOperations<String, String> redis;
/**
* 构造函数
*/
public UserServiceImpl(StringRedisTemplate redisTemplate) {
this.redisTemplate = redisTemplate;
this.redis = redisTemplate.opsForValue();
}
代码实现
// 删除临时数据
try {
redisTemplate.delete(“”);
} catch (RedisConnectionFailureException e) {
this.getBaseMapper().remove(“”);
}
捕获的 Redis 的连接异常来实现调整,redis 正常的时候用redis的功能,redis 挂了的时候就通过数据库来删除,至于redis跟数据库的数据同步那些就需要根据自己项目情况去处理了。我这边没有啥高并发之类的情况,没做太多处理。