본문 바로가기

Spring/Springboot

[Springboot] Redis 데이터 삭제 스케줄러 구현

 

 

 

1. @RedishHash 어노테이션을 이용하는 방법

timeToLive 속성으로 데이터 저장 시간을 설정 할 수 있음

@Getter
@RedisHash(value = "fileInfo", timeToLive = 60 * 60 * 24 * 30) // 30일 (기본값 -1: 영구 저장)
public class FileInfo implements Serializable {
    @Id
    private String userId;
    private String fileId;
    private String fileName;
    private String fileExt;
    private String filePath;
    private String hasVector;
    private Long uploadTime;
}

 

2. @Scheduler 어노테이션을 이용하는 방법

 @Scheduled(fixedDelay = 60000) // 1분마다 실행
    public void scheduledReservation() {
        log.info("\n");
        log.info("=======================================");
        log.info("[ScheduleService] : [파일 삭제 실행] : [start]");
        fileInfoService.scheduledDelete(); // Redis에서 데이터 삭제하는 로직
        log.info("[ScheduleService] : [파일 삭제 완료] : [end]");
        log.info("=======================================");
        log.info("\n");
    }