1. Redis
캐시, 메시지 브로커, 키/밸류 스토어 등으로 사용 가능
2. 의존성 추가
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
3. Redis 설치 및 실행 (도커)
① Redis 설치
docker run -p 6379:6379 --name redis_boot -d redis
② 실행
docker exec -i -t redis_boot redis-cli
4. 스프링 데이터 Redis
- https://projects.spring.io/spring-data-redis/
- StringRedisTemplate 또는 RedisTemplate
- extends CrudRepository<Repository가 다루는 타입, Key의 타입>
# RedisRunner
@Component
public class RedisRunner implements ApplicationRunner {
@Autowired
StringRedisTemplate redisTemplate;
@Autowired
AccountRepository accountRepository;
@Override
public void run(ApplicationArguments args) throws Exception {
ValueOperations<String, String> values = redisTemplate.opsForValue();
values.set("name", "hhlin");
values.set("springboot", "2.0");
values.set("hello", "world");
Account account = new Account();
account.setEmail("hhlin@email.com");
account.setUsername("hhlin");
accountRepository.save(account);
Optional<Account> byId = accountRepository.findById(account.getId());
System.out.println(byId.get().getUsername());
System.out.println(byId.get().getEmail());
}
}
# Account
@RedisHash("accounts")
public class Account {
@Id
private String id;
private String username;
private String email;
// getter, setter 생략
}
# AccountRepository
public interface AccountRepository extends CrudRepository<Account, String> {
}
5. Redis 주요 커맨드
- https://redis.io/commands
- keys *
- get {key}
- hgetall {key}
- hget {key} {column}
6. 커스터마이징
spring.redis.* property 수정하면 됨
ex) spring.redis.ssl=false
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard
스프링 부트 개념과 활용 - 인프런 | 강의
스프링 부트의 원리 및 여러 기능을 코딩을 통해 쉽게 이해하고 보다 적극적으로 사용할 수 있는 방법을 학습합니다., - 강의 소개 | 인프런...
www.inflearn.com
'Java > Spring Boot' 카테고리의 다른 글
[Spring Boot] Neo4j (0) | 2022.05.01 |
---|---|
[Spring Boot] Mongo DB (0) | 2022.05.01 |
[Spring Boot] 데이터베이스 마이그레이션 - Flyway (0) | 2022.04.17 |
[Spring Boot] 데이터베이스 초기화 (0) | 2022.04.17 |
[Spring Boot] Spring-Data-JPA (0) | 2022.04.17 |