[python] Flask와 Redis를 이용한 세션 관리 방법
이 포스트에서는 Flask 애플리케이션에서 Redis를 사용하여 세션을 관리하는 방법에 대해 알아보겠습니다.
목차
- Flask 애플리케이션에 Redis 설치하기
- 세션 관리를 위한 Flask-Redis 확장 기능 설치
- Flask 애플리케이션에서 Redis를 이용한 세션 설정
- 세션을 활용한 예시 코드
Flask 애플리케이션에 Redis 설치하기
먼저, Flask 애플리케이션 프로젝트 디렉토리에서 다음 명령을 사용하여 Redis를 설치합니다.
$ pip install redis
세션 관리를 위한 Flask-Redis 확장 기능 설치
Flask 애플리케이션에서 Redis를 사용하여 세션을 관리하기 위해 Flask-Redis를 설치합니다.
$ pip install flask-redis
Flask 애플리케이션에서 Redis를 이용한 세션 설정
다음은 Flask 애플리케이션에서 Redis를 사용하여 세션을 설정하는 예제 코드입니다.
from flask import Flask, session
from flask_redis import FlaskRedis
app = Flask(__name__)
app.config['REDIS_URL'] = "redis://localhost:6379/0"
redis_store = FlaskRedis(app)
app.secret_key = 'your_secret_key' # 세션을 암호화하기 위한 시크릿 키 설정
@app.route('/set_session')
def set_session():
session['username'] = 'example_user'
return "세션 설정 완료"
@app.route('/get_session')
def get_session():
return session.get('username', '세션에 사용자 정보가 없습니다.')
세션을 활용한 예시 코드
세션을 활용하여 로그인, 로그아웃, 사용자 정보 유지 등 다양한 기능을 구현할 수 있습니다. 이를 활용한 예시 코드는 다음과 같습니다.
@app.route('/login')
def login():
session['logged_in'] = True
return "로그인 성공"
@app.route('/logout')
def logout():
session.pop('logged_in', None)
return "로그아웃 완료"
@app.route('/user_info')
def user_info():
if 'logged_in' in session:
return "사용자 정보: example_user"
else:
return "로그인이 필요합니다."
이렇게 Flask 애플리케이션에서 Redis를 이용하여 세션을 관리할 수 있습니다.
더 자세한 내용은 Flask-Redis 공식 문서를 참조할 수 있습니다.