spring boot 整合jedis
## 导入依赖<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId></dependency>配置文件spring:redis:port: 6379host: 192.168.255.128password: rootjedis:po
·
## 导入依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
配置文件
spring:
redis:
port: 6379
host: 192.168.255.128
password: root
jedis:
pool:
max-idle: 6 #最大空闲数
max-active: 10 #最大连结数
min-idle: 2 #最小空闲数
timeout: 2000 #连接超时时间
redisConfig配置类 将redisPool 注入IOC容器
@Configuration
public class JedisConfig {
private Logger logger =LoggerFactory.getLogger(JedisConfig.class);
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private int port;
@Value("${spring.redis.password}")
private String password;
@Value("${spring.redis.jedis.timeout}")
private int timeout;
@Value("${spring.redis.jedis.pool.max-active}")
private int maxActive;
@Value("${spring.redis.jedis.pool.max-idle}")
private int maxIdle;
@Value("${spring.redis.jedis.pool.min-idle}")
private int minIdle;
@Bean
public JedisPool jedisPool(){
JedisPoolConfig jedisPoolConfig =new JedisPoolConfig();
jedisPoolConfig.setMaxIdle(maxIdle);
jedisPoolConfig.setMaxTotal(maxActive);
jedisPoolConfig.setMinIdle(minIdle);
JedisPool jedisPool =new JedisPool(jedisPoolConfig,host,port,timeout,password);
logger.info("jedisPool连接成功:"+host+"\t"+port);
return jedisPool;
}
}
service层
@Service
@Log
public class UserServiceImpl implements UserService {
@Autowired
private JedisPool jedisPool; //Jedis连接池
/**
* Redis String 类型
* 需求:用户输入一个key
* 先判断Redis中进行查询
* 如果存在,在Redis中进行查询
* 如果不存在,在Mysql查询,将结果赋给Redis,并返回
*/
@Override
public String getString(String key) {
String val=null;
//获取jedis
Jedis jedis = jedisPool.getResource();
//判断jedis是否存在
if(jedis.exists(key)){
log.info("查询Redis中的数据");
val= jedis.get(key);
}else {
String sql ="java培训班";
log.info("查询的是musql数据库");
val= jedis.set(key,sql);
}
//关闭连接
jedis.close();
return val;
}
}
测试
@SpringBootTest
class BootJedisApplicationTests {
@Autowired
private UserService userService;
@Test
void jedisPool() {
String name = userService.getString("name");
System.out.println(name);
}
}
连接成功
2020-07-13 16:07:00.729 INFO 12520 --- [ main] c.e.bootjedis.BootJedisApplicationTests : Starting BootJedisApplicationTests on PV-8 with PID 12520 (started by Administrator in C:\Users\Administrator\Desktop\boot-jedis)
2020-07-13 16:07:00.730 INFO 12520 --- [ main] c.e.bootjedis.BootJedisApplicationTests : No active profile set, falling back to default profiles: default
2020-07-13 16:07:01.272 INFO 12520 --- [ main] c.example.bootjedis.config.JedisConfig : jedisPool连接成功:192.168.255.128 6379
2020-07-13 16:07:01.549 INFO 12520 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2020-07-13 16:07:01.753 INFO 12520 --- [ main] c.e.bootjedis.BootJedisApplicationTests : Started BootJedisApplicationTests in 1.262 seconds (JVM running for 1.973)
2020-07-13 16:07:01.912 INFO 12520 --- [ main] c.e.bootjedis.service.UserServiceImpl : 查询Redis中的数据
zhangsan
2020-07-13 16:07:01.926 INFO 12520 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor : Shutting down ExecutorService 'applicationTaskExecutor'
更多推荐
所有评论(0)