썸네일 [레디스] 스프링4.0 레투스 풀 설정(XML, JAVA) 샘플코드 Gradle 설정 dependencies { implementation group: 'com.google.guava', name: 'guava', version: '19.0' implementation group: 'io.lettuce', name: 'lettuce-core', version: '4.5.0.RELEASE' implementation group: 'org.latencyutils', name: 'LatencyUtils', version: '2.0.3' implementation group: 'io.netty', name: 'netty-all', version: '4.1.68.Final' implementation group: 'io.reactivex.rxjava3', name: 'rxjava..
썸네일 [Redis] 스프링4.0 xml 설정파일을 사용한 레디스 센티널 연결 Gradle 설정dependencies { implementation group: 'com.google.guava', name: 'guava', version: '19.0' implementation group: 'io.lettuce', name: 'lettuce-core', version: '4.5.0.RELEASE' implementation group: 'org.latencyutils', name: 'LatencyUtils', version: '2.0.3' implementation group: 'io.netty', name: 'netty-all', version: '4.1.68.Final' implementation group: 'io.reactivex.rxjava3', name: 'rxjava'..
썸네일 [Redis] Redis Starts with Docker And WebFlux(2) 2023.04.09 개발환경구성 - FE: React-Native - BE: WebFlux - DB: MySQL, Redis(Docker) - IDE: Android Studio, SpringBoot(2.7.3) - JDK: 11 - SERVER: AWS 의존성 추가(build.gradle) dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-redis' implementation 'org.springframework.boot:spring-boot-starter-data-redis-reactive' } 1) WebFlux는 리액티브 프로그래밍이므로 redis-reactive Jar가 추가로 필요함 Redis 설정..
썸네일 [Redis] Redis Starts with Docker And WebFlux(1) 2023.04.02 Redis 1) REmote DIctionary Server의 약자. DB, Cache 및 스트리밍 엔진으로 사용되는 오픈소스 2) In-Memory 데이터 구조 저장소. Key-Value 기반의 NoSQL DBMS 3) String, Hash, List, Set 등의 데이터 구조를 지원 4) ANSI C로 작성되었으며 외부 종속성없이 대부분의 시스템에서 작동 5) 온프레미스와 클라우드(AWS, Google, Azure)에서 모두 사용할 수 있음 출처: 레디스 공식문서 Who's using Redis 1) Twitter 2) GitHub 3) Snapchat 4) Craigslist 5) StackOverflow 특징 1) 초당 수억 개의 작업으로 선형 확장 2) 최대 99.999% ..
썸네일 [DB]SELECT - ORDER BY, WHERE, JOIN 2021.06.11 38번째 포스팅 입사 95일차. SELECT는 여러가지 조건들이 추가로 작성되었을 때 비로소 사용할 수 있는 데이터가 된다. SELECT * FROM 테이블명; 의 쿼리로 데이터를 조회하면 Queue처럼 테이블에 입력한 순서대로 조회되기 때문이다. 오늘은 MySQL 데이터베이스에서 여러가지 조건들을 추가하여 SELECT문을 완성시켜 보려고 한다. 1. ORDER BY ① 조회되는 데이터의 순서를 바꿀 수 있다. ② SELECT * FROM 테이블명 ORDER BY 컬럼명 ASC( 또는 DESC ); ③ 저장되어 있는 데이터의 변형은 일어나지 않는다. ④ 완성된 쿼리를 보면서 직접 비교해보자. 2. WHERE ① 조건을 설정하여 원하는 데이터만 조회할 수 있다. ② SELECT * FR..
썸네일 [DB] SyBase에서 사용하는 기능들 2021.03.29 12일차 입사 22일차. 지금 개발하고 있는 프로젝트는 SyBase, PostgreSQL 2가지의 DB를 사용한다. SyBase를 왜 사용하는지 모르겠지만 지금 참여하고 있는 프로젝트에는 필요한 내용이기 때문에 자주 사용하는 기능들에 대해 정리해보려고 한다. 0. COMMIT ① COMMIT -> 테이블의 데이터에 변동사항이 발생하면 COMMIT을 입력해야 반영된다. -> MySQL은 계정관련 데이터가 변경될 경우만 COMMIT을 사용한다. INSERT INTO exTABLE ( 컬럼1, 컬럼2, ... ) VALUES ( 입력값1, 입력값2, ... ); // R을 제외한 CUD 작업은 수행 후, COMMIT을 반드시 수행해야 한다 COMMIT; 1. ISNULL 연산자 ① ISNU..
썸네일 [DB] Mapper.xml에서 사용하는 속성들 2021.03.16 6일차 입사 9일차. 나는 운이 좋은게 확실하다. 입사한지 1주일만에 금융권 개발에 참여하게 되었다. 허락을 받고 @Controller, @Repository, @Service, Mapper.xml 파일들을 열어볼 수 있게 되었는데, 덕분에 자주 쓰는 메소드나 속성들을 볼 수 있었다. 1. useGeneratedKeys ▶ 기존에 MySQL과 연결한 Mapper.xml에서 작업할 때는 id나 PK 설계시 'SELECT ( IFNULL(컬럼, 초기값) + 1 ) ~ ' 이런식으로 작업을 진행했었다. 하지만 useGeneratedKeys를 사용하면 쉽게 값을 증가시킬 수 있다. ex) SELECT NEXTVAL('컬럼') ① 어떤 컬럼을 증가시킬지 컬럼을 선정한다. ② 선정한 컬럼의 컬럼..
썸네일 [DB] MySQL과 Oracle 문법 비교 2021.03.13 3일차 입사 6일차. 회사에서 이미 운영중인 스프링 프레임워크 기반 장비/자재 관리프로그램으로 기본소양 테스트를 진행했다. 쿼리문을 작성하는 건 잘한다고 생각했었는데 이번에도 생각지도 못한 곳에서 막혀버렸다. MySQL의 경우 INSERT 쿼리를 만들 때, 아래와 같이 쿼리를 작성했었다. -> INSERT INTO 테이블이름 SET 컬럼1 = #{}, ... 하지만 계속 구문에러( syntax 에러)가 발생해서 해결법을 찾던 중, 위의 쿼리는 Oracle에서는 사용할 수 없는 쿼리였다. 그래서 오늘은 MySQL과 Oracle 문법의 차이점을 기록하려고 한다. 1. INSERT ① MySQL -> INSERT INTO 테이블이름 SET 컬럼1 = #{ 입력값1 }, 컬럼2 = #{ 입력..