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 포트를 사용할 수 있습니다.
- WSL을 통해 설치: 위의 Ubuntu 설치 방법을 따름
- 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 |
---|