Simple as dead support of Redis database for Flask apps.
Project description
Simple as dead support of Redis database for Flask apps.
Requirements
Installation
$ pip install Flask-And-Redis
License
Flask-And-Redis is licensed under the BSD License.
Configuration
As of py-redis 2.4.11 release you should setup next options in your settings module:
REDIS_HOST
REDIS_PORT
REDIS_DB
REDIS_PASSWORD
REDIS_SOCKET_TIMEOUT
REDIS_CONNECTION_POOL
REDIS_CHARSET
REDIS_ERRORS
REDIS_UNIX_SOCKET_PATH
Then all of these args would be sent to redis.Redis.__init__ method.
You also could pass app into initialized instance afterwards with init_app method:
from flask import Flask from flask.ext.redis import Redis app = Flask(__name__) redis = Redis() redis.init_app(app)
Advanced
Some times, your redis setting stored as redis://... url (like in Heroku or DotCloud services), sou you could to provide just REDIS_URL value and Flask-And-Redis auto parsed that url and configured then valid redis connection.
Usage
Basic
from flask import Flask from flask.ext.redis import Redis app = Flask(__name__) redis = Redis(app)
Test application
testapp/app.py
from flask import Flask, redirect, url_for from flask.ext.redis import Redis from testapp import settings # Initialize simple Flask application app = Flask(__name__) app.config.from_object(settings) # Setup Redis conection redis = Redis(app) # Add two simple views: One for forgetting counter @app.route('/forget-us') def forget_us(): key = app.config['COUNTER_KEY'] redis.delete(key) return redirect(url_for('home')) # Second for remembering visiting counter @app.route('/') def home(): key = app.config['COUNTER_KEY'] counter = redis.incr(key) message = 'Hello, visitor!' if counter != 1: message += "\nThis page viewed %d time(s)." % counter return message
testapp/settings.py
COUNTER_KEY = 'testapp:counter' REDIS_HOST = 'localhost' REDIS_PORT = 6379 REDIS_DB = 0 # REDIS_URL = 'redis://localhost:6379/0'
Bugs, feature requests?
If you found some bug in Flask-And-Redis library, please, add new issue to the project’s GitHub issues.
Changelog
0.3.3
Fix problem while parsing REDIS_URL value, strip unnecessary slashes from database path (like redis://localhost:6379/12/).
0.3.2
Checked compability with redis-py version 2.6.0.
Added redis as install requirement in setup.py.
0.3.1
Move from flask_redis package to python module.
Little improvements for storing _flask_app attribute to Redis instance.
0.3
Implement init_app method.
0.2.1
Convert REDIS_PORT to an int instance.
0.2
Added support of REDIS_URL setting. By default, Redis will try to guess host, port, user, password and db settings from that value.
0.1
Initial release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file Flask-And-Redis-0.3.3.tar.gz
.
File metadata
- Download URL: Flask-And-Redis-0.3.3.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41f55313a17d493099c3b6603dc016e3aa3b948f40ecb53f6e15ec5901d0aaf6 |
|
MD5 | 7c4bc7cd21691ab6bedb8dd7b646dd87 |
|
BLAKE2b-256 | 6fef44374ebb1be7b7f735b65407c20f75a6113e0683da0380046007a6059a65 |