분류 전체보기 345

[Redis] lists

1. Redis Lists 란?   - 문자열 리스트   - 스택으로 사용 가능   - 큐로 사용 가능 2. Redis Lists 사용 방법  - LPUSH, LPOP, RPUSH, RPOP 으로 데이터 입 출력 가능 > LPUSH trip:titles 1번글(integer) 1> LPUSH trip:titles 2번글(integer) 2> RPOP trip:titles"1번글"> RPOP trip:titles"2번글"> LPUSH trip:titles 1번글(integer) 1> LPUSH trip:titles 2번글(integer) 2> LPOP trip:titles"2번글"> LPOP trip:titles"1번글"   - LLEN 으로 리스트 길이 확인 가능> LLEN trip:titles(inte..

Redis/redis 2024.05.07

[Redis] String

1. Redis String 이란?   - 문자열 텍스트  - 직렬화 된 객체  - 바이너리 배열   2. Redis String 사용법  - SET [Key 값] [value 값] 으로 데이터 저장  - GET [Key 값] 으로 데이터 조회 > SET trip:1 가족여행 OK > GET trip:1 "가족여행"  - 특별한 옵션 설정 가능 nx: 키가 있는 경우 실패,  xx: 키가 이미 있는 경우에만 성공    > set trip:1 분위기 nx (nil) > set trip:1 분위기 xx OK  - 명령을 묶어서 처리할 수 도 있음  > mset trip:1 가족여행 trip:2 분위기 trip:3 해변 OK > mget trip:1 ..

Redis/redis 2024.05.07

[Redis] redis 란?

* 참고 사이트 : https://redis.io/docs/latest/develop/data-types/ Understand Redis data typesOverview of data types supported by Redisredis.io 1. Redis 란?  - 인메모리 데이터 저장소로서 주로 캐싱, 세션 관리, 메시징 등 다양한 용도로 사용되는 오픈 소스 데이터베이스  - 다양한 데이터 구조 지원  - 영속성 사용 가능  - 높은 가용성 및 확장성  - Pub/Sub 메커니즘 지원  2. Redis 데이터 타입  -  Strings  -  Lists  -  Sets  -  Hashes  -  Sorted sets  -  Streams  -  Geospatial indexes  -  Bitmap..

Redis/redis 2024.05.07

[Spring Batch] JobScope, StepScope

1. Scope 란?   - 생명주기를 관리하기 위해 사용하는 어노테이션   - Spring 에서 bean으로 주입하면 기본적으로 싱글톤을 유지한다.   - Singleton 을 사용하지 않는 경우 Scope("prototype") 을 지정하여 주입이 일어날 때 마다 새로운 인스턴스를 생성한다.  2. JobScope 란?   - batch 에서 생명주기를 Job과 함께하는 어노테이션   - JobScope를 별도로 지정하지 않고 스케쥴러를 사용하여 반복 작업을 하면 이전에 작업한 이후부터 작업이 실행된다.   EX> jdbcItemReader를 사용한 경우, 다음 job 실행시 1page 부터 시작하는게 아니라 마지막 page 에서 부터 시작    - @JobScope를 사용하여 인스턴스로 Job의 생..

Spring Batch 2024.05.07

[Spring Batch] ItemWriter

1. ItemWriter  란?   - 처리 결과를 출력(저장) 2. ItemReader 종류   - FlatFileItemWriter : 파일의 고정 위치로 정의되거나 일부 특수 문자(예: 쉼표)로 구분된 데이터 필드가 있는 레코드 @Beanpublic FlatFileItemWriter itemWriter() { return new FlatFileItemWriterBuilder() .name("itemWriter") .resource(new FileSystemResource("result/output.txt")) .lineAggregator(new PassThroughLineAggregator()) .buil..

Spring Batch 2024.05.07

[Spring Batch] ItemReader

1. ItemReader 란?   - chunk 기반 작업에서 데이터를 읽어 들일 때, 사용하는 인터페이스  - 호출시 하나의 결과 데이터를 반환 ( null 이 나올 때 까지 )   2.ItemReader 종류   FlatFileItemReader : 파일의 고정 위치로 정의되거나 일부 특수 문자(예: 쉼표)로 구분된 데이터 필드가 있는 레코드 LineMapper : 단위 구분LineTokenizer : 데이터를 구분자 기준으로 토큰화FieldSetMapper : 객체로 매핑할 때 사용예시 코드Resource resource = new FileSystemResource("resources/rawdata.csv");public class DefaultLineMapper implements LineMapp..

Spring Batch 2024.05.07

[Spring Batch] Job 과 Step

* 참고 사이트 : https://docs.spring.io/spring-batch/reference/index.html Overview :: Spring BatchThe reference documentation is divided into several sections:docs.spring.io   1. Job 이란?    -  JobInstance, JobExecution 으로 구성  JobInstance : 논리적 작업 실행의 개념 ( JobParameter를 포함 )  JobExecution : 실제 Job 의 첫 번째 실행 JobExecution 은 다음과 같은 속성값을 가짐   -  실제 관련 코드 (Job 실행)@Scheduled(cron = "0 0 18 * * *") public ..

Spring Batch 2024.05.06

[Spring Batch] 스프링 배치 란?

* 참고 사이트 https://docs.spring.io/spring-batch/reference/domain.html The Domain Language of Batch :: Spring BatchTo any experienced batch architect, the overall concepts of batch processing used in Spring Batch should be familiar and comfortable. There are “Jobs” and “Steps” and developer-supplied processing units called ItemReader and ItemWriter. However, bedocs.spring.io  1. 스프링 배치란?   - 일괄 처리를 ..

Spring Batch 2024.05.06

[Kibana] 키바나 란?

1. Kibnan 란?   - Elasticsearch 의 공식 프론트 엔드  - 오픈 소스 분석 및 시각화 제공  - Angular JS 로 작성  - 통상적으로 Elasticsearch 와 같은 version 사용  -  기본 port는 5601  2. Kibnan 에서 Elasticsearch 요청하기   - 좌측 메뉴 네비바에서 Dev Tools 를 클릭     - 다양한 쿼리문을 통하여 Elasticsearch 를 제어할 수 있다. 3. 검색 대시보드   - 좌측 메뉴 네비바에서 Discover 를 클릭     - 검색 bar 를 이용하여 검색을 할 수 있다.   - 생성일을 기준으로 설정하여 시각화 할 수도 있다.

ELK/Kibana 2024.05.06