[Redis] 1장 Redis란?

1. Redis란?

Redis는 "Remote Dictionar Server"의 약자로, 고성능의 키-값 저장소로, 다양한 데이터 구조를 지원해 메모리 내에서 데이터를 빠르게 처리할 수 있는 오픈 소스 인메모리 데이터 구조 저장소 입니다. 주로 캐시, 세션 저장소, 메세지 브로커 등으로 사용되며, 다양한 데이터 타입을 지원합니다.


2. Redis의 특징

  • 인메모리 데이터베이스: 모든 데이터를 메모리에 저장하여 빠른 읽기/쓰기 속도를 제공함
  • 다양한 데이터 구조: 문자열, 해시, 리스트, 세트, 정렬된 세트 등 다양한 데이터 타입을 지원
  • 내구성: 데이터의 영속성을 위해 RDB 스냅샷과 AOF(append-only file) 방식으로 데이터를 저장
  • 고성능: 높은 성능을 제공해, 초당 수십만 건의 요청을 처리
  • 복제 및 클러스터링: 데이터 복제 및 클러스터링 기능을 통해 고가용성을 지원
  • 트랜잭션 지원: MULTI, EXEC, WATCH 등을 사용하여 트랜젝션을 지원

3.Redis 장단점

장점

  • 메모리 사용량: 모든 데이터를 메모리에 저장하므로 메모리 사용량이 많아질 수 있음
  • 데이터 손실 위험: 인메모리 저장소이기 때문에 서버 장애가 발생할 경우 데이터 손실 우려가 있음, 그러나 AOF와 RDB를 통해 이 문제를 완화
  • 복잡한 쿼리 제한: SQL 데이터베이스에 비해 복잡한 쿼리 지원 X

4. Redis 설치법

  • Ubuntu 설치법
sudo apt update
sudo apt install redis-server

 

설치 후 Redis 서버를 시작합니다.

sudo systemctl start redis.service
sudo systemctl enable redis.service

 

Redis가 성공적으로 작동하는지 확인합니다.

redis-cli ping

 

"pong" 이 출력되면 정상적으로 작동함

  • Windows에서의 설치

Windows에서는 WSL(Windows Subsystem fo Linux)을 이용하거나, Redis의 Windows 포트를 사용할 수 있습니다.

  1. WSL을 통해 설치: 위의 Ubuntu 설치 방법을 따름
  2. Windows 포트 사용: Redis for Windows GitHub에서 Redis 설치 파일을 다운받고 설치

5.Redis VSCode 세팅법

  • VSCode 설치: Visual Studio Code를 설치합니다.
  • Redis Extension 설치:
    • VSCode를 열고, Extension(확장) 뷰로 이동
    • "Redis"를 검색하고 "Redis"확장을 설치
  • Redis 연결:
    • VSCode에서 Command Palatte (Ctrl + Shift + P)를 열고 "Redis:Connect to Redis"를 선택
    • Redis 서버의 주소(기본적으로 127.0.0.1:6379)를 입력하여 연결
  • Redis 사용
    • 키 조회 및 관리: 저장된 키와 값을 조회하고 관리
    • 명령어 실행: 다양한 Redis 명령어 실행
    • 데이터 구조 탐색: 리스트 해시, 세트 등 데이터 구조를 쉽게 탐색

6.Redis 테이블 만들기

redis-test.txt를 프로젝트 파일에 만들어서 다음과 같은 내용을 작성합니다.

SET mykey "Hello Redis!"
GET mykey 
DEL mykey
EXISTS mykey

 

Redis 명령어를 파일에 저장하고, Redis CLI를 사용해 직접 실행할 수 있습니다. 새로운 터미널을 열고 Redis CLI를 실행합니다. txt  파일에 명령어를 복사해 Redis CLI를 붙여넣습니다. 

  • SET mykey "Hello, Redis!" 명령어를 실행 시 OK! 출력
  • GET mykey 명령어를 실행 시 "Hello, Redis!"가 출력
  • DEL mykey 명령어 실행 시 삭제된 키의 숫자(1)이 출력
  • EXISTS mykey 명령어를 실행하면 0 출력

7.Redis Nodejs 세팅

  • 프로젝트 디렉토리 생성:
mkdir redis-node
cd redis-node

# node.js 프로젝트 초기화
npm init -y 

# Node.js에서 Redis와 상호작용하기 위한 redis 패키지 설치
npm install redis

# redis 실행
"C:\Program Files\Redis\redis-server.exe"
  • 새로운 JavaScript 파일 생성: index.js 파일 생성
const { createClient } = require("@redis/client");

(async () => {
  const client = createClient();

  // Redis 서버 연결
  await client.connect();
  client.on("error", (err) => console.err("Redis Client Error", err));

  try {
    // Redis 명령어 실행
    await client.set("mykey", "Hello Redis");
    const value = await client.get("mykey");
    console.log(value); // "Hello, Redis!"

    // 키 삭제
    await client.del("mykey");
  } catch (err) {
    console.error("Error executing Redis command", err);
  } finally {
    // 클라이언트 종료
    await client.quit();
  }
})();

 

Redis 서버가 실행 중인지 확인합니다, 새 터미널에서 다음 명령어로 Redis 서버를 실행합니다.

node index.js 
# Hello Redis

 


 

 

GitHub - Koras02/redis-blog

Contribute to Koras02/redis-blog development by creating an account on GitHub.

github.com

 

LIST

'Back-End > Redis' 카테고리의 다른 글

[Redis] 2장 Redis 클라이언트 설정  (0) 2025.03.09