캐시 적용 - 추천라이브, 이벤트 리스트, 2주 이내 콘텐츠 업로드 한 크리에이터, 콘텐츠 상단 배너,
This commit is contained in:
		@@ -39,7 +39,7 @@ class RedisConfig(
 | 
			
		||||
    @Bean
 | 
			
		||||
    fun cacheManager(connectionFactory: RedisConnectionFactory): RedisCacheManager {
 | 
			
		||||
        val defaultConfig = RedisCacheConfiguration.defaultCacheConfig()
 | 
			
		||||
            .entryTtl(Duration.ofMinutes(10)) // Default TTL
 | 
			
		||||
            .entryTtl(Duration.ofHours(1)) // Default TTL
 | 
			
		||||
            .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(StringRedisSerializer()))
 | 
			
		||||
            .serializeValuesWith(
 | 
			
		||||
                RedisSerializationContext.SerializationPair.fromSerializer(
 | 
			
		||||
@@ -48,7 +48,7 @@ class RedisConfig(
 | 
			
		||||
            )
 | 
			
		||||
 | 
			
		||||
        val weekLivedCacheConfig = RedisCacheConfiguration.defaultCacheConfig()
 | 
			
		||||
            .entryTtl(Duration.ofDays(7))
 | 
			
		||||
            .entryTtl(Duration.ofDays(3))
 | 
			
		||||
            .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(StringRedisSerializer()))
 | 
			
		||||
            .serializeValuesWith(
 | 
			
		||||
                RedisSerializationContext.SerializationPair.fromSerializer(
 | 
			
		||||
 
 | 
			
		||||
@@ -337,6 +337,10 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory)
 | 
			
		||||
            .fetch()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Cacheable(
 | 
			
		||||
        value = ["getNewContentUploadCreatorList"],
 | 
			
		||||
        cacheManager = "cacheManager"
 | 
			
		||||
    )
 | 
			
		||||
    override fun getNewContentUploadCreatorList(
 | 
			
		||||
        cloudfrontHost: String,
 | 
			
		||||
        isAdult: Boolean
 | 
			
		||||
@@ -372,6 +376,10 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory)
 | 
			
		||||
            .toList()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Cacheable(
 | 
			
		||||
        value = ["getAudioContentMainBannerList"],
 | 
			
		||||
        cacheManager = "cacheManager"
 | 
			
		||||
    )
 | 
			
		||||
    override fun getAudioContentMainBannerList(isAdult: Boolean): List<AudioContentBanner> {
 | 
			
		||||
        var where = audioContentBanner.isActive.isTrue
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,7 @@ import kr.co.vividnext.sodalive.aws.s3.S3Uploader
 | 
			
		||||
import kr.co.vividnext.sodalive.common.SodaException
 | 
			
		||||
import kr.co.vividnext.sodalive.utils.generateFileName
 | 
			
		||||
import org.springframework.beans.factory.annotation.Value
 | 
			
		||||
import org.springframework.cache.annotation.Cacheable
 | 
			
		||||
import org.springframework.data.repository.findByIdOrNull
 | 
			
		||||
import org.springframework.stereotype.Service
 | 
			
		||||
import org.springframework.transaction.annotation.Transactional
 | 
			
		||||
@@ -20,6 +21,10 @@ class EventService(
 | 
			
		||||
    @Value("\${cloud.aws.cloud-front.host}")
 | 
			
		||||
    private val cloudFrontHost: String
 | 
			
		||||
) {
 | 
			
		||||
    @Cacheable(
 | 
			
		||||
        value = ["getEventList"],
 | 
			
		||||
        cacheManager = "cacheManager"
 | 
			
		||||
    )
 | 
			
		||||
    fun getEventList(): GetEventResponse {
 | 
			
		||||
        val eventList = repository.getEventList()
 | 
			
		||||
            .asSequence()
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,7 @@ import kr.co.vividnext.sodalive.member.MemberRole
 | 
			
		||||
import kr.co.vividnext.sodalive.member.QMember.member
 | 
			
		||||
import kr.co.vividnext.sodalive.member.following.QCreatorFollowing.creatorFollowing
 | 
			
		||||
import org.springframework.beans.factory.annotation.Value
 | 
			
		||||
import org.springframework.cache.annotation.Cacheable
 | 
			
		||||
import org.springframework.stereotype.Repository
 | 
			
		||||
import java.time.LocalDateTime
 | 
			
		||||
 | 
			
		||||
@@ -19,6 +20,10 @@ class LiveRecommendRepository(
 | 
			
		||||
    @Value("\${cloud.aws.cloud-front.host}")
 | 
			
		||||
    private val cloudFrontHost: String
 | 
			
		||||
) {
 | 
			
		||||
    @Cacheable(
 | 
			
		||||
        value = ["getRecommendLive"],
 | 
			
		||||
        cacheManager = "cacheManager"
 | 
			
		||||
    )
 | 
			
		||||
    fun getRecommendLive(
 | 
			
		||||
        memberId: Long,
 | 
			
		||||
        isBlocked: (Long) -> Boolean,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user