콘텐츠 메인 캐싱전략 수정

AS IS - 각 섹션별로 캐싱
TO BE - getMain 함수 전체 캐싱
This commit is contained in:
Klaus 2023-11-06 18:04:08 +09:00
parent 976a504233
commit 5c228af14b
4 changed files with 28 additions and 24 deletions

View File

@ -1,13 +1,14 @@
package kr.co.vividnext.sodalive.content.main package kr.co.vividnext.sodalive.content.main
import com.fasterxml.jackson.annotation.JsonProperty
import com.querydsl.core.annotations.QueryProjection import com.querydsl.core.annotations.QueryProjection
data class GetAudioContentMainItem @QueryProjection constructor( data class GetAudioContentMainItem @QueryProjection constructor(
val contentId: Long, @JsonProperty("contentId") val contentId: Long,
val coverImageUrl: String, @JsonProperty("coverImageUrl") val coverImageUrl: String,
val title: String, @JsonProperty("title") val title: String,
val isAdult: Boolean, @JsonProperty("isAdult") val isAdult: Boolean,
val creatorId: Long, @JsonProperty("creatorId") val creatorId: Long,
val creatorProfileImageUrl: String, @JsonProperty("creatorProfileImageUrl") val creatorProfileImageUrl: String,
val creatorNickname: String @JsonProperty("creatorNickname") val creatorNickname: String
) )

View File

@ -1,15 +1,16 @@
package kr.co.vividnext.sodalive.content.main package kr.co.vividnext.sodalive.content.main
import com.fasterxml.jackson.annotation.JsonProperty
import kr.co.vividnext.sodalive.content.main.banner.GetAudioContentBannerResponse import kr.co.vividnext.sodalive.content.main.banner.GetAudioContentBannerResponse
import kr.co.vividnext.sodalive.content.main.curation.GetAudioContentCurationResponse import kr.co.vividnext.sodalive.content.main.curation.GetAudioContentCurationResponse
data class GetAudioContentMainResponse( data class GetAudioContentMainResponse(
val newContentUploadCreatorList: List<GetNewContentUploadCreator>, @JsonProperty("newContentUploadCreatorList") val newContentUploadCreatorList: List<GetNewContentUploadCreator>,
val bannerList: List<GetAudioContentBannerResponse>, @JsonProperty("bannerList") val bannerList: List<GetAudioContentBannerResponse>,
val orderList: List<GetAudioContentMainItem>, @JsonProperty("orderList") val orderList: List<GetAudioContentMainItem>,
val themeList: List<String>, @JsonProperty("themeList") val themeList: List<String>,
val newContentList: List<GetAudioContentMainItem>, @JsonProperty("newContentList") val newContentList: List<GetAudioContentMainItem>,
val curationList: List<GetAudioContentCurationResponse>, @JsonProperty("curationList") val curationList: List<GetAudioContentCurationResponse>,
val contentRankingSortTypeList: List<String>, @JsonProperty("contentRankingSortTypeList") val contentRankingSortTypeList: List<String>,
val contentRanking: GetAudioContentRanking @JsonProperty("contentRanking") val contentRanking: GetAudioContentRanking
) )

View File

@ -1,11 +1,12 @@
package kr.co.vividnext.sodalive.content.main.banner package kr.co.vividnext.sodalive.content.main.banner
import com.fasterxml.jackson.annotation.JsonProperty
import kr.co.vividnext.sodalive.event.EventItem import kr.co.vividnext.sodalive.event.EventItem
data class GetAudioContentBannerResponse( data class GetAudioContentBannerResponse(
val type: AudioContentBannerType, @JsonProperty("type") val type: AudioContentBannerType,
val thumbnailImageUrl: String, @JsonProperty("thumbnailImageUrl") val thumbnailImageUrl: String,
val eventItem: EventItem?, @JsonProperty("eventItem") val eventItem: EventItem?,
val creatorId: Long?, @JsonProperty("creatorId") val creatorId: Long?,
val link: String? @JsonProperty("link") val link: String?
) )

View File

@ -1,10 +1,11 @@
package kr.co.vividnext.sodalive.content.main.curation package kr.co.vividnext.sodalive.content.main.curation
import com.fasterxml.jackson.annotation.JsonProperty
import kr.co.vividnext.sodalive.content.main.GetAudioContentMainItem import kr.co.vividnext.sodalive.content.main.GetAudioContentMainItem
data class GetAudioContentCurationResponse( data class GetAudioContentCurationResponse(
val curationId: Long, @JsonProperty("curationId") val curationId: Long,
val title: String, @JsonProperty("title") val title: String,
val description: String, @JsonProperty("description") val description: String,
val contents: List<GetAudioContentMainItem> @JsonProperty("contents") val contents: List<GetAudioContentMainItem>
) )