Python용 redis-py 시작하기

Python용 redis-py 시작하기 (redis-py guide (Python))

파이썬에서 Redis를 가장 많이 쓰는 방법은 redis-py라는 공식 클라이언트를 쓰는 거예요. 설치는 pip 한 줄이면 끝나고, 연결도 몇 줄이면 됩니다. 파이썬 애플리케이션을 Redis에 연결하는 전체 흐름을 같이 따라가 볼게요.

출처: 공식문서

redis-py는 어떤 클라이언트인가요?

redis-py는 Python용 Redis 클라이언트예요. 아래에서 설치 방법과 함께 redis-py로 Redis 데이터베이스에 연결하는 법을 설명할게요.

redis-py를 쓰려면 실행 중인 Redis 서버가 필요해요. 서버가 없다면 Redis Open Source 설치 안내를 먼저 따라주세요. 객체 매핑 인터페이스로 접근하고 싶다면 RedisOM for Python 문서를 보면 됩니다.

설치하기

redis-py 설치는 간단해요.

pip install redis

성능을 더 높이고 싶다면 hiredis 지원을 포함해 설치할 수 있어요. hiredis는 컴파일된 응답 파서를 제공하는데, 대부분의 경우 코드를 바꿀 필요가 없어요. 기본적으로 hiredis >= 1.0이 사용 가능하면 redis-py가 응답 파싱에 그걸 사용하려고 해요.

참고: Python의 distutils 패키징 방식은 Python 3.12부터 더 이상 포함되지 않아요. Python 3.12 환경에서 redis-py 설치에 어려움을 겪고 있다면 최신 릴리스의 redis-py로 업데이트하는 것을 고려해 보세요.

pip install redis[hiredis]

연결하고 테스트하기

localhost의 6379 포트에 연결하고, 값을 저장한 뒤 다시 꺼내 볼게요. 파이썬에서 모든 응답은 기본적으로 bytes로 돌아와요. 디코딩된 문자열로 받으려면 decode_responses=True를 설정하면 됩니다.

import redis

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

간단한 문자열을 저장하고 꺼내 봅니다.

r.set('foo', 'bar')

# True

r.get('foo')

# bar

딕셔너리 형태도 저장하고 꺼낼 수 있어요.

r.hset('user-session:123', mapping={

    'name': 'John',

    "surname": 'Smith',

    "company": 'Redis',

    "age": 29

})

# True



r.hgetall('user-session:123')

# {'surname': 'Smith', 'name': 'John', 'company': 'Redis', 'age': '29'}

다 썼으면 연결을 닫아줘요.

r.close()

더 알아보기 (Learn more)

redis-py 웹사이트에는 명령 레퍼런스와 여러 작업용 튜토리얼이 있고, GitHub 저장소에도 몇 가지 예제가 있어요. 같은 섹션에서 비동기 연산(asyncio), 연결 옵션, 검색/벡터 인덱싱, 파이프라인과 트랜잭션, 오류 처리 같은 내용을 이어서 살펴볼 수 있습니다.