SpringBoot整合Redis入门教程(使用Jedis)
一、引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.1.0</version>
</dependency>
二、开启Redis数据库,配置文件
server:
port: 8090
spring:
redis:
host: localhost
port: 6379
三、config.RedisConfig
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
@Slf4j
@Configuration
public class RedisConfig {
@Value("${spring.redis.host}")
public String host;
@Value("${spring.redis.port}")
public int port;
@Bean
public JedisPool redisPoolFactory() {
log.info("JedisPool>>>");
log.info("redis地址" + host + ":" + port);
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port);
return jedisPool;
}
}
四、util.RedisUtil
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import javax.annotation.Resource;
@Component
@Slf4j
public class RedisUtil {
@Resource
public JedisPool jedisPool;
public static void returnResource(Jedis jedis) {
if (jedis != null) {
jedis.close();
}
}
public String get(String key,int indexDB) {
Jedis jedis = null;
String value = null;
try {
jedis = jedisPool.getResource();
jedis.select(indexDB);
value = jedis.get(key);
log.info(value);
} catch (Exception e) {
log.error(e.getMessage());
} finally {
returnResource(jedis);
}
return value;
}
public String set(String key, String value,int indexDB) {
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
jedis.select(indexDB);
return jedis.set(key, value);
} catch (Exception e) {
log.error(e.getMessage());
return "0";
} finally {
returnResource(jedis);
}
}
public Long expire(String key, int value, int indexDB) {
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
jedis.select(indexDB);
return jedis.expire(key, value);
} catch (Exception e) {
log.error(e.getMessage());
return 0L;
} finally {
returnResource(jedis);
}
}
}
五、controller.RedisController
import com.yyf.mybatisdemo.util.RedisUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@RestController
@Slf4j
public class RedisController {
@Resource
public RedisUtil redisUtil;
@GetMapping("/redis/{indexDB}/{key}")
public String getRedis(@PathVariable int indexDB, @PathVariable String key) {
return redisUtil.get(key, indexDB);
}
@PostMapping("redis/{indexDB}/{key}/{value}")
public String setRedis(@PathVariable int indexDB, @PathVariable String key, @PathVariable String value) {
String res = redisUtil.set(key, value, indexDB);
Long expire = redisUtil.expire(key, 120, indexDB);
log.info("expire=" + expire);
return res;
}
}
六、测试