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), 연결 옵션, 검색/벡터 인덱싱, 파이프라인과 트랜잭션, 오류 처리 같은 내용을 이어서 살펴볼 수 있습니다.