분류 전체보기(329)
-
Redis 확장 모듈
오픈소스로 개발된 Redis server는 빅데이터 저장 및 관리 기술을 제공하는 소프트웨어이다. 물론 RedisLabs co. 에 의해 Enterprise Edition 에 대한 유지 보수 및 기술 지원이 이루어 지고 있지만 최초 Community Edition이 먼저 개발되어 배포된 것이다. 그러다보니 Community Edition에 대한 지속적인 기능 추가 및 서버 확장에는 다소 한계가 있을 수 밖에 없게 되었고 이에 많은 개발자들이 Redis Server의 소스를 이용한 다양한 기능들을 개발하여 배포하게 되었는데 이를 Redis 확장 모듈이라고 한다. REJSON : JSON 데이터 타입을 이용해 데이터를 처리할 수 있는 모듈 RediSQL : Redis Server에서 SQLite(관계형 DB..
2023.12.12 -
Redis 데이터 타입
데이터 타입 종류 내용 strings 문자(text), Binary 유형 데이터를 저장 List 하나의 key에 여러 개의 배열 값을 저장 Hash 하나의 key에 여러 개의 Fields와 Value로 구성 된 테이블을 저장 Set Sorted Set 정렬되지 않은 String 타입 Set과 Hash를 결합한 타입 Bitmaps 0 & 1 로 표현하는 데이터 타입 HyperLogLogs Element 중에서 Unique 한 개수의 Element 만 계산 Geospatial 좌표 데이터를 저장 및 관리하는 데이터 타입 기존 관계형 DB뿐만 아니라 대부분의 NoSQL 제품들은 하나의 토탈 데이터 관리 시스템 기능을 제공하기 때문에 보편적으로 파일 시스템에 비해 효율적으로 데이터를 저장 관리 할 수 있다. R..
2023.12.12 -
NestJS 요청 라이프 사이클 (NestJS Request Lifecycle)
요청 라이프 사이클이란? 요청이 디바이스로부터 서버로 보내진 다음에 응답이 되어서 돌아오는 과정을 전부 표현한 것 NestJS Docs 들어오는 요청 미들웨어 - 전역적으로 바인딩 된 미들웨어 - 모듈 바인딩 미들웨어 가드 - 글로벌 가드 - 컨트롤러 가드 - 라우트 가드 컨트롤러 이전 인터셉터 - 글로벌 인터셉터(컨트롤러 이전) - 컨트롤러 인터셉터(컨트롤러 이전) - 라우트 인터셉터(컨트롤러 이전) 파이프 - 글로벌 파이프 - 컨트롤러 파이프 - 라우트 파이프 - 매개변수 파이프 경로 지정 컨트롤러(메서드 핸들러) 서비스(존재하는 경우) 요청 후 인터셉터 - 라우트 인터셉터(요청 후) - 컨트롤러 인터셉터(요청 후) - 전역 인터셉터(요청 후) 예외 필터(라우트, 컨트롤러, 전역) 서버응답 아래 사진..
2023.12.11 -
Redis 캐싱과 전략
캐시 캐시는 데이터나 값을 저장하는 임시 저장소로, 데이터를 더 빠르고 효율적으로 엑세스 할 수 있게 해준다. 원본 데이터 접근보다 빠르다. 같은 데이터를 반복적으로 접근하는 상황에서 사용하기에 알맞다. 인증 세션 값과 같은 잘 변하지 않는 데이터일수록 더 효율적이다. 컴퓨터 메모리 계층 구조 레이어별로 캐시를 보면 용량은 위로 갈수록 커지고 속도는 밑으로 내려갈수록 빨라진다. 보통 우리가 사용하는 Redis는 Memory 층에 존재한다고 보면 된다. Disk가 제일 느리고 L3 < L2 < L1 순으로 속도가 빠르다. Disk 접근 속도가 SSD 를 쓰고 있지만 Memory에 비하면 속도가 굉장히 차이난다. 그렇기 때문에 Memory에 올려놓고 쓰는 게 Disk 에서 읽어오는 것보다 훨씬 빠르다. 그 ..
2023.12.11 -
Redis 데이터 입력/수정/삭제/조회
종류 내용 set 데이터를 저장할 때(key, value) get 저장된 데이터를 검색할 때 rename 저장된 데이터 값을 변경할 때 randomkey 저장된 key 중에 하나의 key를 랜덤하게 검색할 때 keys 저장된 모든 key를 검색할 때 exits 검색 대상 key가 존재하는지 여부를 확인할 때 mset/mget 여러 개의 key와 value를 한번 저장하고 검색할 때 Redis DB에 데이터를 입력/수정/삭제/조회하기 위해서는 반드시 Redis 서버에서 제공하는 명령어를 사용해야 하며 데이터를 조작할 때는 하나의 Key에 대해 하나 이상의 Field 또는 Element 로 표현해야 한다. Redis 서버 실행 cd /home/redis/src ./redis-server /home/redis..
2023.12.10 -
Redis 간단한 용어 설명
Redis 는 키벨류, MongoDB는 도큐먼트 DB 이다. 여기서 Redis 는 왜 키벨류 DB라고 표한하는지 논리적 구조에 대한 간단한 용어를 알아볼 것이다. 1. Table 하나의 DB에서 데이터를 저장하는 논리적 구조이다. (관계형 DB에서 표현하는 논리적 개념인 테이블과 동일) 2. Data Sets 테이블을 구성하는 논리적 단위이다. 하나의 데이터-셋은 하나의 Key와 한개 이상의 Field/elemenst로 구성된다. 3. Key 하나의 Key는 하나 이상의 조합된 값으로 표현 가능하다. 예를 들어, 주문 번호 또는 주문번호+순번, 년월일+순번 등 4. Values 해당 Key에 대한 구체적인 데이터 값을 표현한다. 벨류는 하나 이상의 Field 또는 Element 로 구성된다.
2023.12.10