redis images 다운하기
docker pull redis
redis 컨테이너 만들어주기
docker run --name redis_container --rm -it -d -p 6379:6379 redis
redis cli 들어가보기
docker exec -it redis_container redis-cli
인텔리제이 설정하기
- 먼저, Redis의 세팅을 위한 .env 설정을 해보자
REDIS_PORT=6379
REDIS_HOST=localhost
- application.yml 형식은 아래와 같다
server:
port: ${SERVER_PORT}
spring:
config:
import: optional:file:.env[.properties]
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DB_NAME}?serverTimezone=Asia/Seoul
username: ${MYSQL_NAME}
password: ${MYSQL_PASSWORD}
jpa:
hibernate:
ddl-auto: update
properties:
hibernate:
show_sql: true
format_sql: true
data:
redis:
port: ${REDIS_PORT}
host: ${REDIS_HOST}
jwt:
secret_key: ${JWT_SECRET_KEY}
expired_time: ${JWT_EXPIRED_TIME}
config로 빈등록까지 해주자
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory cnf) {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(cnf);
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
return template;
}
}
실제 사용해보자!
@Transactional
public ApiResponse signup(SignUpDto signUpDto) {
Member member = Member.fromSignUpDto(signUpDto);
redisSingUp(signUpDto);
String hashedPassword = pe.encode(member.getPassword());
member.updatePassword(hashedPassword);
authRepository.save(member);
return new ApiResponse(ApiResponseMemberEnum.MEMBER_SAVE_SUCCESS);
}
private void redisSingUp(SignUpDto signUpDto) {
String username = signUpDto.getUsername();
String password = signUpDto.getPassword();
String email = signUpDto.getEmail();
String author = signUpDto.getAuthor();
String role = signUpDto.getRole().toString();
redisTemplate.opsForValue().set("username",username);
redisTemplate.opsForValue().set("password",password);
redisTemplate.opsForValue().set("email",email);
redisTemplate.opsForValue().set("author",author);
redisTemplate.opsForValue().set("role",role);
}
포스트맨 API 호출
Redis Cli에서 확인해보자
마치며
- 오늘은 간단하게 연결방법과 쓰임방법에 대해 알아보았다
- 이후 Redis공부를 더해보면서 어떤식으로 더 사용되는지, 언제 DB에 저장되는지 확인해보아야겠다