본문 바로가기

전체 글

(98)
@Async 어노테이션 @Async 어노테이션 이란 ?@Async 어노테이션은 스프링 프레임워크에서 비동기 처리를 위해 제공하는 어노테이션이다.이 어노테이션을 메소드에 붙이면  스프링은 해당 메소드를 비동기적으로 실행한다.@Async 어노테이션을 이해하기 위해서는 스프링의 AOP 와 스레드 풀의 개념을 알아야 한다. 스프링에서 @Async 를 사용하기 위해서는 @EnableAsync 어노테이션을 설정 클래스에 추가해야한다.이 설정을 통해 스프링은 비동기 작업을 위한 설정을 활성화하고, AsyncTaskExecutor 인터페이스의 구현체를 사용하여 비동기 작업을 처리한다. @EnableAsync 어노테이션을 통해 스프링이 비동기 처리를 위한 프록시 객체를 생성하고, 이를 통해 실제 메소드 호출을 비동기적으로 처리하기 때문이다.기..
MSSQL ROWCOUNT @@ROWCOUNT 란 ?쿼리 실행문 실행 후 영향을 받은 로우의 수를 반환별도 초기화하지 않으면 계속 유지select, update, delete등 쿼리에서 사용 가능 UPDATE 테이블명 SET ITEM_NAME = 아이템명 WHERE ITEM_CODE = 아이템코드IF @ROWCOUNT = 0 BEGIN INSERT INTO 테이블명 (아이템코드,아이템 명 ) VALUES (아이템코드, 아이템명) END 실습현재 상품 테이블에 특정 조건으로 데이터를 조회하면 데이터가 나오지 않는다. SELECT * FROM TB_SMS_ITEMS WHERE ITEM_CODE = 'ITEM1'; 실행 결과   UPDATE TB_SMS_ITEMS SET ITEM_NAME_KOR = '테스트1' WHERE ..
Redis - Spring Boot 와 연동 Redis 데이터 조회먼저 테스트 데이터를 넣었다.  json 배열에 2개의 json 형식의 데이터가 들어있다. RedisSample.java @GetMapping("/redis/list") public String selectRedisList() throws Exception { String key = "TEST_REDIS_USER"; ListOperations listOperations = redisTemplate.opsForList(); Long size = listOperations.size(key); JSONParser parser = new JSONParser(); if(size > 0){ for(int i..
Redis - Spring Boot 와 연동 Redis 를 Spring Boot와 연동 해보자 build.gradle에 redis를 추가한다. implementation 'org.springframework.boot:spring-boot-starter-data-redis' Redis를 사용하기위해 설정 파일 만든다. application.properties spring.redis.host=localhost spring.redis.port=6379 RedisConfig.java public class RedisConfig { @Value("${spring.redis.host}") public String host; @Value("${srping.redis.port}") public int port; @Bean public RedisTemplate r..
Redis 윈도우 설치 Redis 윈도우 설치 https://github.com/microsoftarchive/redis/releases Releases · microsoftarchive/redis Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes - microsoftarchive/redis github.com msi를 다운받아 준다. 설치경로와 기본 포트를 설정한다. 작업관리자 서비스에 들어가보면 Redis가 실행중인 것을 볼 수 있다. 윈도우 서비스를 사용하지 않는다..
Redis 란? Redis 란? Redis는 오픈 소스 기반의 고성능 키-값 저장소이며, 메모리 내 데이터 구조 저장 및 검색을 위한 데이터베이스로 사용한다. Redis는 NoSQL 데이터베이스 중 하나로, 주로 캐싱, 세션 관리,메시지 브로커, 대기열 처리 등 다양한 용도로 활용된다. Redis는 특히 메모리 내 데이터 저장으로 빠른 응답 속도를 제공하며, 디스크에 데이터를 지속적으로 저장하여 데이터 손실을 방지할 수 도 있다. 또한 다양한 데이터 구조를 지원하며, 문자열, 리스트, 해시, 집합, 정렬 집합과 같은 데이터 타입을 다룰 수 있어 다양한 어플리케이션에서 활용 가능하다. 데이터 베이스가 있음에도 불구하고 Redis를 사용하는 이유? 데이터베이스는 데이터를 물리 디스크에 직접 쓰기 때문에 서버에 문제가 발생해..
Elasticsearch - Mappings 문자열 - text, keyword elasticsearch 에서 문자열 타입에는 text, keyword 두 가지가 있다. 인덱스를 생성할 때 매핑에 필드를 미리 정의하지 않으면 동적 문자열 필드가 생성 될 때 text 필드와 keyword 필드가 다중 필드로 같이 생성된다. text text 타입은 입력된 문자열을 텀 단위로 쪼개어 역 색인 구조를 만든다. 보통 풀 텍스트 검색에 사용할 문자열 필드들을 text 타입으로 지정한다. text 필드에 설정가능한 옵션 들은 다음과 같다. analyzer : : 색인에 사용할 애널라이저를 입력하며 디폴트로는 standard 애널라이저 이다. 토크나이저, 토큰필터들을 따로 지정할 수 가 없으며 필요시 사용자 정의 애널라이저를 settings에 정의 해 두고 사..
Elasticsearch Settings & Mappings 모든 인덱스는 두 개의 정보 단위를 가지고 있는데 바로 settings(설정) 와 mappings(매핑) 이다. 인덱스를 처음 생성 한뒤 조회하면 설정과 매핑 정보를 확인할 수 있다. 설정 - Settings GET user_info/_setings GET user_info/_mappings 세팅이나 매핑 정보만 따로 보고 싶으면 위의 명령어로 보면 된다. 처음 인덱스를 정의하면 몇가지 정보들이 자동으로 생성되는데 샤드 수는 7.0버전부터 디폴트로 1개가 설정된다. number_of_shards, number_of_replicas 샤드 수와 리플리카는 number_of_shards , number_of_replicas 에서 설정한다. 세팅 아래의 index 아래 설정에 명시되는데 index 레벨은 생략하..