我正在研究與redis交互的瓶子應用程序。這個應用程序部署在heroku上,並添加了一個redis。redis獲取函數返回無
當我使用交互進行一些測試時,我無法獲取剛剛設置的鍵值對。相反,我總是將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')
如上所示,測試路由將打印None,表示該值未設置。我很困惑。當我在本地瀏覽器上測試服務器時,它起作用,當我嘗試使用heroku python shell與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進行交互?