SpringBoot 통합 Redis 데이터베이스,캐 시 관리 실현
5752 단어 SpringBootRedis캐 시 관리
Spring Boot 에 서 는 자주 사용 하 는 관계 형 데이터베이스 에 우수한 자동화 지원 을 제공 하 는 것 을 제외 하고 많은 NoSQL 데이터베이스 와 마찬가지 로 자동화 설정 을 지원 합 니 다.이 는 Redis,MongoDB,Elasticsearch 를 포함 합 니 다.이 사례 들 이 정리 되면 계속해서 Git 이 올 라 옵 니 다.
SpringBoot 2 버 전 은 지원 하 는 구성 요소 가 점점 풍부 해 지고 있 습 니 다.Redis 에 대한 지원 은 API 뿐만 아니 라 바 텀 Jedis 의 의존 도 를 바 꾸 고 Lettuce 로 바 꿉 니 다.
이 사례 는 로 컬 에 Redis 데이터 베 이 스 를 설치 해 야 합 니 다.
2.Spring 2.0 통합 Redis
1.핵심 의존
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.프로필
#
server:
port: 8008
spring:
application:
#
name: node08-boot-redis
# redis
redis:
host: 127.0.0.1
#
timeout: 1000ms
jedis:
pool:
# , 0
max-active: 8
# , 0
max-idle: 8
# 。 。 -1 。
max-wait: -1ms
# , 0
min-idle: 0
이렇게 하면 Redis 의 환경 설정 이 성공 하여 봉 인 된 API 를 직접 사용 할 수 있 습 니 다.3.간단 한 테스트 사례
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.concurrent.TimeUnit;
@RestController
public class RedisController {
@Resource
private StringRedisTemplate stringRedisTemplate ;
@RequestMapping("/setGet")
public String setGet (){
stringRedisTemplate.opsForValue().set("cicada","smile");
return stringRedisTemplate.opsForValue().get("cicada") ;
}
@Resource
private RedisTemplate redisTemplate ;
/**
* Key 10
*/
@RequestMapping("/setKeyTime")
public String setKeyTime (){
redisTemplate.opsForValue().set("timeKey","timeValue",10, TimeUnit.SECONDS);
return "success" ;
}
@RequestMapping("/getTimeKey")
public String getTimeKey (){
// Key , 'null'
return String.valueOf(redisTemplate.opsForValue().get("timeKey")) ;
}
}
4.사용자 정의 직렬 화 설정
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import java.io.Serializable;
/**
* Redis
*/
@Configuration
public class RedisConfig {
private static final Logger LOGGER = LoggerFactory.getLogger(RedisConfig.class) ;
/**
*
*/
@Bean
public RedisTemplate<String, Serializable> redisTemplate
(LettuceConnectionFactory redisConnectionFactory) {
LOGGER.info("RedisConfig == >> redisTemplate ");
RedisTemplate<String, Serializable> template = new RedisTemplate<>();
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
template.setConnectionFactory(redisConnectionFactory);
return template;
}
}
5.직렬 화 테스트
import com.boot.redis.entity.User;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@RestController
public class SerializeController {
@Resource
private RedisTemplate redisTemplate ;
@RequestMapping("/setUser")
public String setUser (){
User user = new User() ;
user.setName("cicada");
user.setAge(22);
List<String> list = new ArrayList<>() ;
list.add(" ");
list.add(" ");
list.add(" ");
list.add(" ");
user.setEducation(list);
redisTemplate.opsForValue().set("userInfo",user);
return "success" ;
}
@RequestMapping("/getUser")
public User getUser (){
return (User)redisTemplate.opsForValue().get("userInfo") ;
}
}
3.소스 코드 주소 GitHub 주소:웃 어 봐
https://github.com/cicadasmile/spring-boot-base
클 라 우 드 주소:알 겠 습 니 다.
https://gitee.com/cicadasmile/spring-boot-base
이상 은 SpringBoot 통합 Redis 데이터베이스 입 니 다.캐 시 관 리 를 실현 하 는 상세 한 내용 입 니 다.SpringBoot 통합 Redis 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Java・SpringBoot・Thymeleaf】 에러 메세지를 구현(SpringBoot 어플리케이션 실천편 3)로그인하여 사용자 목록을 표시하는 응용 프로그램을 만들고, Spring에서의 개발에 대해 공부하겠습니다 🌟 마지막 데이터 바인딩에 계속 바인딩 실패 시 오류 메시지를 구현합니다. 마지막 기사🌟 src/main/res...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.