为什么要使用Flask的Redis扩展?

tlo*_*ely 2 python redis flask

在此示例中使用Flask Redis扩展的优点是什么?

from flask import Flask, render_template
from flask.ext.redis import Redis


app = Flask(__app__)
app.config['REDIS_HOST'] = 'localhost'
app.config['REDIS_PORT'] = 6379
app.config['REDIS_DB'] = 0


r = Redis(app)

@app.route("/")
def index():
    return render_template("index.html", **r.hgetall("temp.index"))
Run Code Online (Sandbox Code Playgroud)

...在常规的Redis连接实例上?

from flask import Flask, render_template

import redis


r = redis.Redis()

@app.route("/")
def index():
    return render_template("index.html", **r.hgetall("temp.index"))
Run Code Online (Sandbox Code Playgroud)

Und*_*ryx 8

这个包的当前维护者,嗨!

我认为该软件包提供的两个(不可否认的次要)便利是:

  1. 与Flask的配置管理集成,因此您可以在同一个地方组织所有应用配置.您可以将PostisSQL旁边的Redis数据库URL或您正在使用的任何内容添加到其中,并在初始化FlaskRedis应用程序时自动获取它.

  2. 自动附加到Flask应用程序,因此您不必继续在模块之间导入Redis实例,因为它已经随身携带,可以这样访问:app.extensions['redis'].但是如果你想要导入它,你也可以导入模块import flask.ext.redis.

  • __NOTE__:来自 Flask 0.11 文档:“从 Flask 0.11 开始,大多数 Flask 扩展已经过渡到新的命名模式。flask.ext.foo 兼容性别名仍在 Flask 0.11 中,但现在已弃用——您应该使用 flask_foo。” 我假设`flask.ext.redis` 也不例外? (2认同)