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

12

在这个例子中,使用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"))

相比于常规的 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"))

3
你考虑过询问写这个的人吗? - jonrsharpe
3
我刚刚给开始这个项目的人发了一封电子邮件,问他能否在这里回答我的问题。 - tlovely
1个回答

13

我是包的现任维护者,你好!

我认为该软件包提供了两个(虽然较小)的便利:

  1. 与Flask配置管理的集成,因此您可以在同一位置组织所有应用程序配置。您可以在PostgreSQL或其他使用的数据库URL旁边添加Redis数据库URL,并在初始化FlaskRedis应用程序时自动获取。

  2. 自动连接到您的Flask应用程序,因此您无需跨模块导入Redis实例,因为它已经始终与您相伴,并且可以像这样访问: app.extensions['redis']。但是,如果您仍想导入它,则可以使用 import flask.ext.redis 导入模块。


2
请注意:根据Flask 0.11文档:“自Flask 0.11起,大多数Flask扩展已过渡到新的命名模式。flask.ext.foo兼容性别名仍然存在于Flask 0.11中,但现在已被弃用 - 您应该使用flask_foo。” 我假设 flask.ext.redis也不例外? - franklin
@franklin 是的,我已经转换到 flask_redis 了,一切都很好。 - Jinsong Li

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接