- Redis Data Type 2starryeyeRedis 가 지원하는 Data Type 에 대해서 계속 알아보자.. 3. Sets Lists 와 동일하게 Key 하나에 Value 가 여러개의 집합으로 이루어져 있다. Value 만을 본다면, C++ 에서 unordered_set 과 비슷한 역할이다. 특징 1. 순서가 없고 유니크한 값의 집합 2. 개별 접근을 위한 인덱스가 존재하지 않지만, 개별 값의 존재 여부는 빠르게 체크 할 수 있다. 3. 집합 연산이 존재한다. (합집합, 교집합 등) 4. 활용 알고리즘 Union, Hash Table, Hash Set 등에 해당되는 모든 상황에서 활용가능하다. > 특정 시간동안 유저 한명 당 한번의 유효한 쿠폰을 발급하는 요구사항이 있을 때, 개발자는 Redis 의 Sets 를 사용할 수 있다. 특정 시간동안..
- 2023-06-02 13:04:38
- Redis Data Type 1starryeyeRedis 는 Key-Value store 이다. 이때, Value 에 해당하는 부분에서 다양한 데이터 구조를 지원한다. 하나씩 살펴보자.. 1. Strings Key 하나에 Value 는 문자열에 해당된다. 특징 1. 문자열을 저장할 때, Byte 배열로 저장된다. -> 따라서, 바이너리로 표현가능한 모든 데이터를 저장할 수 있다. (Binary-Safe) -> 주로 캐시에서 이용되며, 이를 이용해서 정적 웹 컨텐츠(HTML, JPG, JSON 등)들을 저장 2. 문자열에 저장할 수 있는 최대 크기는 512MB 이다. 3. 대표 명령어 명령어 기능 SET [Key] [Value] GET [Key] 해당 키에 문자열 값을 저장하고 반환 받는다. 덮어쓰기 가능 SET [Key] [Value] EX [Sec..
- 2023-06-02 01:07:53
- Redis 시작해보기starryeyeRedis 는 가장 대표적인 NoSQL 의 Key-Value 모델을 따르는 저장소이다. -> Hash Map 이라 생각해보자.. 간단하게 알아보는 대표적 특징 1. In-memory 저장소로 아주 빠른 접근 속도를 제공한다. 2. 세션 관리나 캐시 등의 목적으로 자주 사용된다. 3. Key-Value Store 이므로, 분산 환경을 제공하여 데이터 관점의 Shard(Cluster, Scale-Out) 가 가능하다. (물론, HA를 위한 Replica, Sentinel 개념도 존재) 4. Key 를 통해서만 값을 읽을 수 있다. (Value 단독 조회 불가능) 5. 범위 조회 등의 복잡한 질의 불가능 6. In-Memory 데이터를 주기적으로 디스크에 스냅샷으로 저장(RDB)하거나, 모든 변경을 로그 파..
- 2023-06-01 22:30:23
- MongoDB Sharded Clusterstarryeye이번 포스트에서는 MongoDB 의 Sharded Cluster 배포 형태에 대해 알아보겠다. 사용 목적 Sharded Cluster 의 사용 목적은 다음 상황에 적절하다... 기존에 Replica Set 을 잘 이용하고 있다가.. 서비스가 잘 커서 MongoDB 에 많은 양의 데이터가 추가 되어 더이상 감당 할 수 없게 되었다.. 이 때, Sharding 을 통해 데이터를 샤드 키로 분산하여 여러개의 Replica Set 묶음으로 적재 할 수 있도록 할 수 있다. 아래 그림을 통하여 더 자세히 알아보도록 하자.. 위 그림은 대표적인 MongoDB 의 Sharded Cluster 형태를 나타낸다. 각 샤드는 내부에서 Replica Set 을 이루고 있다. Application 은 mongos 라는 라우터..
- 2023-06-01 21:17:47
- MongoDB Replica SetstarryeyeMongoDB 의 3가지 형태 중 하나인 Replica set 에 대해 알아보겠다. 특징 - High Availability (고 가용성) - 가장 많이 사용됨 - 무중단 서비스를 가능하도록 만들어주는 최소 단위 Replica set 의 맴버 현재 위 그림에서 MongoDB 는 3개의 맴버를 가지고 있다. (Primary, Secondary, Secondary) 각 맴버는 각각 다른 서버에 존재한다. (모두 하나의 서버에 존재 할 수 도 있다.) 맴버의 상태로는 3가지가 있다. Primary - Read/Write 요청 모두 처리 가능하다. - Write 를 처리 할 수 있는 유일한 맴버이다. - Replica set 에서 하나만 존재 Secondary - Read에 대한 요청만 처리할 수 있다. - 복..
- 2023-05-20 17:08:26
- MongoDB 3가지 형태starryeyeMongoDB 를 배포할 때는 3가지 형태로 배포할 수 있다. 1. Standalone 2. Replica set 3. Sharded cluster 3가지에 대해 각각 간단히 알아보겠다. 1. Standalone 용도 : 개인 스터디, 테스트 단순히 프로세스 1개만을 이용해서 MongoDB 서버를 띄우는 형태이다. 분산을 하기 위해 MongoDB 를 사용하는 경우가 많은데 이를 이용하지 않는 형태로... 스터디 용도가 아니면 사용되지 않는다. 2. Replica set 용도 : HA(High Availability) 고 가용성 용도로 현업에서 가장 많이 사용되는 형태이다. Atlas 에서도 Replica set 형태로 배포된다. 위 그림에서는 Replica set 의 기본 형태를 보여준다. MongoDB..
- 2023-05-20 16:41:55
- Java 16 주요 변경점starryeyeJDK 16 1. Stream 클래스에 메서드 추가 toList() 스트림의 요소들을 순서대로 List 에 담아 반환한다. Java 16 이전에는 collect(Collectors.toList()) 를 사용했지만, 좀더 간결하게 표현 가능해졌다. mapMulti() mapMulti() 를 알아보는 김에.. map(), flatMap(), multiMap() 를 알아보겠다. (map, flatMap 은 Java 8) map() 스트림 내부의 요소 하나하나에 접근해서... 파라미터로 넣어준 함수를 실행한 뒤 최종연산에서 지정한 형식으로 반환해주는 메서드이다. flatMap() 스트림 내부의 각 요소를 한번 더 또다른 스트림으로 변환하고, 이렇게 생성된 모든 스트림을 하나의 스트림으로 결합한다. (중첩된 데이..
- 2023-05-20 01:41:47
- Java 11 ~ 15 주요 변경점starryeyeJDK 11 1. String 클래스에 유용한 메서드 추가 isBlank() 문자열이 비어있거나, 공백 문자만을 포함하고 있는지 검사한다. lines() 문자열을 줄바꿈 문자 '\n' 를 기준으로 분리하고, 분리된 각 줄을 요소로하는 stream 을 반환한다. repeat(int n) 문자열을 주어진 횟수만큼 반복하여 반환한다. strip(), stripLeading(), stripTrailing() 문자열의 앞뒤 혹은 특정 부분에서 공백 문자를 제거한다. trim() 메서드와 비슷하지만.. trim() 메서드는 ASCII 공백 문자만 처리하지만, strip() 계열 메서드는 유니코드 공백 문자를 모두 처리하여 상위호환이다. ASCII 공백 문자 : 스페이스(' '), 탭('\t'), 줄바꿈('\n') ..
- 2023-05-19 22:36:07
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)