전체 글 (730) 썸네일형 리스트형 [Redis] 지원하는 데이터 유형 1. String 일반적인 문자열로 최대 512Mb 길이까지 지원 Text 문자열 뿐만 아니라 Integer와 같은 숫자나, JPEG와 같은 바이너리 파일까지 지원가능 2. Set 3.Sorted Set Set에 score라는 필드가 추가된 데이터 타입, 해당 구조에서 score기준으로 오름차순 내부정렬되고 범위에 따른 쿼리나, top rank에 따른 쿼리등이 가능하다 4. Hashes (field/string value 쌍으로 이루어진 테이블을 저장하는 데이터 타입) 5. List [Redis] Redis 장 단점 장점 1. Key-Value Store 레디스는 거대한 맵 데이터 저장소 key,value가 매핑된 단순한 맵 데이터 저장소로서 데이터를 레디스에 쉽고 편하게 읽고 쓸 수 있다. 익히기 쉽고, 직관적이다. (단점: 데이터를 레디스 자체 내 에서 처리가 어렵다) 2. 다양한 데이터 타입 리스트, 배열 형식의 데이터 처리에 특화됨 Value 값으로 문자열,리스트,set,sorted set,hash등 여러 데이터 형식을 지원한다. 3. 속도 리스트 형 데이터의 입력과 삭제가 Mysql보다 10배 빠르다 4. 영속성 Redis는 데이터를 디스크에 저장할 수 있다. Redis서버가 셧다운 된 후에 재시작해도 Disk에 저장해놓은 데이터를 다시 읽어서 데이터가 유실되지 않는다. Redis의 데이터를 디스크에 저장하.. [Redis] Redis 란 무엇입니까? Redis는 인메모리 데이터베이스 관리 시스템이다. 다른 인메모리 데이터베이스와 달리 다양한 자료구조를 지원한다. (String,List,Sets,Streams,Hashes 등등) 자료구조가 다양해서, 개발의 편의성이 좋아지고, 난이도가 낮아진다. DBMS를 이용하여 DB에 데이터를 저장하고 저장된 데이터를 정렬하여 다시 읽어오는 과정을 가진다면 디스크에 직접 접근을 해야하기때문에 시간이 더 걸린다. NOSQL로서 key-value 타입의 저장소인 레디스의 주요특징은 아래와 같다. -영속성을 지원하는 인메모리 데이터 저장소 -읽기 성능 증대를 위한 서버 측 복제를 지원 -다양한 서비스에서 사용되며 검증된 기술 -문자열,리스트,해시,셋 정렬된 셋과 같은 다양한 데이터형을 지원한다. Redis 영속성 레디스.. [Spring batch] Repeat step 동일한 step을 파라미터만 변경해서 반복, 실행 반복되는 횟수는 동적으로 제어 만약 종료를 희망한다면, RepeatCallback에서 Enum으로 정의된 Continualbe과, Finished중에, Finished를 호출하면 된다. RepeatContxt RepeatCallBack메소드는 RepeatContext를 파라미터로 받는다. 해당 iterator가 종료되면, 해당 컨텍스트는 종료되고, 실행되는 동안은, context는 공유된다. 반복 중간에 RepeatTemplate은 CompletionPlolicy를 호출하고, ReapeatCOntext에 저장되어있는 값을 업데이트하라고 한다. 해당 Policy에게 종료할지를 물어본다. RepeatListener의 내용중, Aop같이 사용할 수 도 있다. .. [Spring Batch] RepeatStatus RepeatStatus 의 Constant 값은 Finished,Continuable값이 있는데 FInished로 반환하는 경우, job을 정상적으로 종료하고, Continuable로 반환하는 경우 job이 계속 구동되어야 하는 의미로 처음부터 다시 시작한다. 단순히 스프링 배치에서 제공하는 상수, ENUM이다. [Spring Batch] ChunkContext , Late Binding , ExecutionContext Job에 파라미터를 전달하는 방법은 두가지가 있다. 1) Chunk Context 2) Late Binding StepScop,JobScope란? Bean 생성시점을 Step,Job시점으로 늦춘다. 만약 서버를 올릴때 tasklet을 한번에 모두 생성 시키면 한 tasklet에 대해서 동시에 여러 step들이 실행되면서 침범당할 수 있다. 이를 방지하기 위해서 사용한다. Late BInding을 사용하면 얻을수 있는 이점 -JobParameter를 특정 메서드가 실행하는 시점까지 지연시켜 할당할 수 있다. 즉 애플리케이션이 구동되는 시점이 아니라 비즈니스 로직이 구현되는 어디든 JobParameter를 할당하여 유연한 설계가 가능하다. 이게 뭔소리냐, Job Parameter가 StepContext , .. [Spring Batch] 배치 실행 방법 Controller -> Job Launch helper -> Step -> Tasklet 으로 실무에서는 사용했었다. 젠킨스로 스케쥴링을 하고 해당 배치를 관리했었다. Job 인터셉트 [Spring Batch] Cursor ,Paging 기반 ItemReader 배치 프로세스는 기본적으로 실시간으로 처리하기 어려울만큼, 방대한 데이터를 다룬다 ItemReader의 대응방식에서는 크게 커서,페이징 기반 이렇게 두가지가 있다. Cursor 형식 -현재 Cursor가 가리키는 곳의 데이터를 읽고, Cursor는 다음 데이터를 가리킨다. -ResultSet이 Open될때마다 next()메서드가 호출되어 DB의 데이터가 반환되고, 객체와 매핑이 이루어진다. -DB connection은 배치 처리가 완료될 떄까지 데이터를 읽어오기 때문에 DB연결시간이 길다. -모든 데이터를 메모리에 저장하기 때문에 메모리 사용량이 많다. -Connection 시간과 메모리를 충분히 감당할수 있다면, 대용량 데이터 처리에 적합하다. (Fetch Size로 조절) Pagi.. 이전 1 ··· 46 47 48 49 50 51 52 ··· 92 다음