Yet another Redis extension for Flask. Flask-Redis-Helper
doesn't break PyCharm autocomplete/inspections and handles
the Flask application context the same way SQLAlchemy does.
- Python 2.6, 2.7, PyPy, PyPy3, 3.3, and 3.4 supported on Linux and OS X.
- Python 2.7, 3.3, and 3.4 supported on Windows (both 32 and 64 bit versions of Python).
Tested on Windows XP and Windows 10 technical preview.
Inspired by Flask-SQLAlchemy and Flask-And-Redis.
Install:
pip install Flask-Redis-Helper
from flask import Flask
from flask.ext.redis import Redis
app = Flask(__name__)
app.config['REDIS_URL'] = 'redis://localhost'
redis = Redis(app)
# extensions.py
from flask.ext.redis import Redis
redis = Redis()
redis_cache = Redis()
# application.py
from flask import Flask
from extensions import redis, redis_cache
def create_app():
app = Flask(__name__)
app.config['REDIS_URL'] = 'redis://localhost/0'
app.config['REDIS_CACHE_URL'] = 'redis://localhost/1'
redis.init_app(app)
redis_cache.init_app(app, config_prefix='REDIS_CACHE')
return app
# manage.py
from application import create_app
app = create_app()
app.run()
Flask-Redis-Helper
subclasses StrictRedis
and adds the init_app() method for delayed initialization (for
applications that instantiate extensions in a separate file, but run init_app() in the same file Flask() was
instantiated).
The following config settings are searched for in the Flask application's configuration dictionary:
REDIS_URL
-- URL to Redis server. May be a network URL or Unix socket URL. Individual components may be overridden by settings below (like setting REDIS_DB). URLs must start with redis://, file://, or redis+socket:// (Celery compatibility). redis:// handles ambiguous URLs (like redis://localhost and redis://my_socket_file) by prioritizing network URL interpretations over socket URLs. Use the file:// or redis+socket:// URL schemes to force socket URL interpretations over network URLs.REDIS_SOCKET
-- UNIX socket file path. If specified, disables REDIS_HOST and REDIS_PORT settings.REDIS_HOST
-- the Redis server's hostname/IP. Default is localhost.REDIS_PORT
-- TCP port number. Default is 6379.REDIS_PASSWORD
-- password. Default is None.REDIS_DB
-- DB instance (e.g. 1). Must be an integer. Default is 0.
This project adheres to Semantic Versioning.
- Added
- Windows support.
- Removed
- Dependency on
six
.
- Dependency on
- Added
- Support trailing slashes.
- Changed
- Minor code restructuring.
- Added
- Python 2.6 and 3.x support.
- Initial release.