Closed jungeun5-choi closed 1 year ago
dependencies {
// redis
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
}
#redis
spring.data.redis.lettuce.pool.max-active=10
spring.data.redis.lettuce.pool.max-idle=10
spring.data.redis.lettuce.pool.min-idle=2
spring.data.redis.host=127.0.0.1
spring.data.redis.port=6379
spring.data.redis.password={requirepass}
.requestMatchers("/redis/**").permitAll() // redis test용 임시 허가
기록 잘하시는거 진짜 배워야겠네요 헉소리나네.. 멋있습니다
redis에 entity 자체를 저장하는 것은 비효율적이다.
저장하려는 정보를 명확히 할 것
피드를 불러오려면 #51
그럼 redis에 내가 팔로우한 사람들의 id를 저장하자
data type은 뭐가 좋을까? 개발자를 위한 레디스 튜토리얼 01
소셜 네트워킹 서비스 Twitter의 Redis 적용 사례
MySQL만 사용했다면 각 게시물ID-프로필ID의 쌍을 모두 저장하고 이를 사용하지만, Redis를 사용해서 게시물ID에 대해서 프로필ID의 Set을 저장하면 된다.
[NHN FORWARD 2021] Redis 야무지게 사용하기
아앗 entity로 들어가는 구조가 아닌가보군요
아앗 entity로 들어가는 구조가 아닌가보군요
mysql이랑 연결할 때 entity 자체를 직렬화(serialize)해서 저장하는 방법이 보편적인 거 같은데 그렇게 하면 entity 자체를 저장하게 되는게 아닌가 하는 생각이 들더라고요 (제가 이해를 잘못한 걸 수도 잇음...)
그래서 일단 이 방식으로 해서 성공하면 새롭게 리팩터링을 할지, 아니면 처음부터 꺾어서 갈지...를 고민하고 있어요 ㅋㅋ
그 redis 고수 튜터님한테 슬랙으로 dm을 보내서 조언을 구해보는 건 어떠신가요!
그 redis 고수 튜터님한테 슬랙으로 dm을 보내서 조언을 구해보는 건 어떠신가요!
자료 좀 더 찾아보고 답 없으면 저녁 시간에 한 번 보내봐야겠어요!! 감사해요 ㅎㅎ
id만 저장하면 결국 데이터를 받아올 때는 DB를 조회하게 된다
RedisTimelineService.getTimelinePosts
에서는 PostRepository
를 참조하고 있다...[Springboot] '최근 읽은 글' Dto로 Redis에 저장하고 조회하기 AtoZ
> auth {password}
> auth abcde
> keys *
> LRANGE {key} {start_index} {end_index}
> LRANGE 1 0 5
> flushall
타임라인은 어떻게 만들어야하는가?
Feed => 내가 쓴 글, 내가 팔로우한 회원이 쓴 글 표시
Feed(피드, 타임라인) 엔티티는 어떤 정보를 가지고 있어야 하는가?
Feed => 내가 쓴 글, 내가 팔로우한 회원이 쓴 글 표시
회원 생성 → Feed 생성 (user_id
value = feed_id
value)
누군가를 팔로우 → 팔로우한 회원의 Post를 List<Post>
에 추가
created_at
이나 post_id
를 기준으로나 혹은 다른 회원이 글을 작성
jpa connection -> redis 연결이 쉬움 (redis는 따지고보면 DB가 아니라서)
redis와 session 관리는 찰떡이다!
redis 서버와 AWS 웹서버 배포를 동시에 진행하는 경우