Skip to main content

MultiThreaded MultiServers Redis Extension for Flask Applications

Project description

Flask-Multi-Redis

CI Status

Travis CI Status Codecov Coverage Status Coveralls Coverage Status Codacy Coverage Status Codacy Code Grade Landscape Code Health Code Climate Code Climate Coverage

PyPI Status

Pypi Version Pypi Status Python Implementation Python Versions License aGPLv3+

Adds Redis support to Flask with fail-over or aggregation capabilities.

Mostly inspired by these projects :

Built on top of redis-py.

Contributors

Description

Flask-Multi-Redis allows you to easily access multiple Redis servers from Flask applications. It supports SSL connections and password authentication. It’s not intended to implement all Redis commands but gives you the hability to make multi-threaded parallel queries to multiple Redis servers without the need to deploy a Redis cluster.

Installation

pip install flask-multi-redis

Configuration

Enable Flask-Multi-Redis in your application :

from flask import Flask
from flask.ext.redis import FlaskRedis

app = Flask(__name__)
redis_store = FlaskRedis(app)

Flask-Multi-Redis provide a simple flexible configuration handling. It reads its configuration from your Flask app.config dictionnary.

Default configuration for all servers :

app.config['REDIS_DEFAULT_PORT'] = 6379
app.config['REDIS_DEFAULT_DB'] = 0
app.config['REDIS_DEFAULT_PASSWORD'] = None
app.config['REDIS_DEFAULT_SOCKET_TIMEOUT'] = 5
app.config['REDIS_DEFAULT_SSL'] = None

Usage

FlaskMultiRedis proxies attribute access to an underlying Redis connection. So treat it as if it were a regular Redis instance.

@app.route('/')
def index():
    return redis_store.get('potato', 'Not Set')

Protip: The redis-py package currently holds the ‘redis’ namespace, so if you are looking to make use of it, your Redis object shouldn’t be named ‘redis’.

For detailed instructions regarding the usage of the client, check the redis-py documentation.

Advanced features, such as Lua scripting, pipelines and callbacks are detailed within the projects README.

Contribute

History

0.1.4 (2016-09-02)

  • Correct an error in aggregated put method

0.1.3 (2016-09-02)

  • Correct an error in aggregated delete method

0.1.2 (2016-09-02)

  • Correct an error in aggregated keys method

0.1.1 (2016-09-02)

  • Add scan_iter aggregated method

0.1.0 (2016-08-26)

  • First Beta : Now 100% covered

0.0.2 (2016-07-20)

  • First pre-release after some cleanup

0.0.1 (2016-07-20)

  • Initial commit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Flask-Multi-Redis-0.1.5.tar.gz (30.1 kB view details)

Uploaded Source

File details

Details for the file Flask-Multi-Redis-0.1.5.tar.gz.

File metadata

File hashes

Hashes for Flask-Multi-Redis-0.1.5.tar.gz
Algorithm Hash digest
SHA256 326c72f24b4c7c2e41f1a15490fa5795da0a664e627fb7425e504d5d668632b0
MD5 13f18b755f7688137f63852b087fa256
BLAKE2b-256 b0dd8dc7f5a9a91de81c46fd2aa9b3cedf3bcfca6a0a0795715d95d578f05cfa

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page