티스토리 뷰

redis는 기본적으로 Linux에 설치하지만, Microsoft에서 제공하는 설치 파일을 통해서도 설치 가능하다.

하지만 버전은 16년 버전...(redis 3.0버전..)

나는 python에서 reids를 쓰고 싶었다.pip install redis를 하면 최신 버전인 5.2.1의 redis-py가 설치된다. 지원하는 redis 버전은 5.0이상. https://pypi.org/project/redis/

어차피 배포할때는 ubuntu환경에서 하기도 하고, docker-desktop을 설치할때 WSL도 설치했어서 Microsoft배포용 윈도우 reids버전(3.0)대신 윈도우 내에서 wsl을 사용해 Linux 환경에서 Redis를 설치했다.

 

1.WSL 활성화 및 ubuntu 실행

- PowerShell을 관리자 권한으로 실행하고 다음 명령어 실행

- 설치된 wsl 확인

wsl --list --verbose

- 설치 안되어있다면

wsl --install
wsl --set-default-version 2 # WSL 2는 성능이 더 좋아서 최신 버전으로 설정

- Ubuntu 실행

wsl -d Ubuntu

 

2. Ubuntu에서 Redis 설치

sudo apt update
sudo apt install redis-server

# 버전확인
redis-server --version # Redis server v=7.0.15

 

3. Redis 서버 실행 및 확인

sudo service redis-server start
redis-cli ping # pong이 오면 잘 실행된것

 

4. 작업하던 가상환경에서 redis-py 라이브러리 설치

pip install redis

# 버전 확인
pip show redis # 5.2.1

 

5. 연결 테스트

import redis

# Redis 클라이언트 생성
r = redis.Redis(host='localhost', port=6379, db=0)

# Ping으로 연결 확인
try:
    if r.ping():
        print("Redis 연결 성공!")
except redis.ConnectionError:
    print("Redis 연결 실패!")

# 값 저장 및 가져오기 테스트
r.set("test_key", "Hello, Redis!")
print("test_key:", r.get("test_key").decode('utf-8'))

# Redis 연결 성공!
# test_key: Hello, Redis!

 

---------------------------------------------------------------------

* WSL 설치 없이 16년도 버전 설치만 해도 괜찮다면

- https://github.com/microsoftarchive/redis/releases

 

Releases · microsoftarchive/redis

Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes - microsoftarchive/redis

github.com

1) .msi 파일을 실행하고 설치를 완료한다.

2) 환경변수 path에 redis경로 추가(C:\Program Files\Redis)

* 해당 과정을 생략하면, 매번 cmd에서 redis가 있는 위치로 가서 redis명령어를 실행해야 해서 귀찮다

3) cmd로 Redis 서버를 실행

redis-server

 

* 오류 발생 시, 해당 포트가 이미 사용 중일 수 있다.

- 6379 포트를 사용하는 프로세스 확인

netstat -ano | findstr :6379

- 해당 프로세스 종료(cmd를 관리자 권한으로 실행 후 입력)

taskkill /PID <PID번호> /F

- 다시 redis실행

redis-server

- 다른 포트에서 redis를 실행시키고 싶다면

redis-server --port 6380

 

4) cmd에서 Redis 서버에서 접속(연결)

- Redis 서버를 실행하면 이 터미널은 점유된 상태가 된다. Redis 클라이언트를 실행하려면 새로운 CMD 창을 열어야 한다.

redis-cli

- Redis 서버에 제대로 연결되었는지 확인:

ping

- pong이 응답됨 

 

* 컴퓨터 부팅시 자동으로 Redis를 실행시키고 싶다면?

- Redis를 windows 서비스로 등록

# Redis를 Windows 서비스로 등록
sc create RedisServer binPath= "C:\Program Files\Redis\redis-server.exe --service-start" start= auto

# 서비스 시작
net start RedisServer

# 서비스 중지
net stop RedisServer

# Windows 서비스에서 제거
sc delete RedisServer

 

2. 기본적인 Redis 명령어 연습

1) SET & GET : 데이터 저장 및 조회

# 데이터 저장
set mykey "Hello, Redis!"

# 데이터 조회
get mykey # "Hello, Redis!" 출력됨

 

2) EXISTS: 키가 존재하는지 확인

exists mykey

# 1 : 존재함(0: 존재하지 않음)

 

3) DEL : 키 삭제

del mykey

# 삭제 후 다시 조회
get mykey # nil이 출력됨

 

4) EXPIRE : 특정 키에 유효 기간 설정

# 10초 동안만 유지하는 키 저장
set tempkey "This will expire"
expire tempkey 10

# 바로 조회
get tempkey #  "This will expire" 출력됨

# 10초 후 다시 조회
get tempkey # nil 출력

 

5) 리스트, 해시, 셋 같은 고급 자료구조 사용

# 리스트 사용
rpush mylist "apple"
rpush mylist "banana"
rpush mylist "cherry"

# 리스트 조회
lrange mylist 0 -1

# 출력값
# 1) "apple"
# 2) "banana"
# 3) "cherry"


# 해시 저장
hset user:1000 name "Alice"
hset user:1000 age 25

# 해시 데이터 조회
hgetall user:1000

# 출력
# 1) "name"
# 2) "Alice"
# 3) "age"
# 4) "25"

 

6) 현재 저장된 모든 키 확인

keys *

# 출력
# 1) "user:1000"
# 2) "mylist"

 

7) 모든 데이터 삭제

flushall

 

3. python에서 사용하기

import redis

# Redis 연결
r = redis.Redis(host='localhost', port=6379, decode_responses=True)

# 데이터 저장
r.set('mykey', 'Hello, Redis!')

# 데이터 조회
print(r.get('mykey'))  # 출력: Hello, Redis!
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함