redis와 상호 작용하는 플라스크 응용 프로그램을 작성 중입니다. 이 응용 프로그램은 heroku에 배포되고 redis가 추가됩니다.redis get 함수 반환 없음
상호 작용에 대한 테스트를 수행 할 때 방금 설정 한 키 값 쌍을 가져올 수 없습니다. 대신 반환 유형으로 항상 None을 얻습니다. 여기에 예제가 나와 있습니다 :
import Flask
import redis
app = Flask(__name__)
redis_url = os.getenv('REDISTOGO_URL', 'redis://localhost:6379')
redis = redis.from_url(redis_url)
@app.route('/test')
def test():
redis.set("test", "{test1: test}")
print redis.get("test") # print None here
return "what the freak"
if __name__ == "__main__":
app.run(host='0.0.0.0')
위와 같이 테스트 경로에는 아무 것도 표시되지 않습니다. 값이 설정되어 있지 않습니다. 나는 혼란 스럽다. 로컬 브라우저에서 서버를 테스트 할 때 작동하며 heroku python 셸을 사용하여 redis와 상호 작용을 시도했을 때도 제대로 작동합니다.
파이썬 쉘 테스트 :
heroku run python
from server import redis
redis.set('test', 'i am here') # return True
redis.get('test') # return i am here
지금 혼란 스러워요. Flask를 사용하여 redis와 올바르게 상호 작용해야합니까?