[PYTHON] Redis auf Heroku

Programmstruktur

.
├── Procfile
├── __pycache__
├── app.py
├── bin
├── include
├── lib
├── pip-selfcheck.json
├── requirements.txt
└── runtime.txt

requirements.txt

――Die erforderliche Bibliothek wird beschrieben. --Sie können es mit `` `pip freeze> require.txt``` tun. ――Bitte ist es wie folgt.

click==6.7
Flask==0.12.2
gunicorn==19.7.1
itsdangerous==0.24
Jinja2==2.9.6
MarkupSafe==1.0
redis==2.10.5
Werkzeug==0.12.2

runtime.txt

python-3.6.0

Procfile

web: gunicorn app:app --log-file -

Heroku Redis

Hinweis!

Plugin-Einstellungen

--Verwenden Sie Heroku Cli. Sie können dies auch über die Webkonsole tun.

% heroku plugins:install heroku-redis                                                                                Installing plugin heroku-redis... done
% heroku config -a APP_NAME
=== APP_NAME Config Vars
LANG:      ja_JP.utf8
REDIS_URL: redis://h:pc16fb4fb5781c56263fe9b8ac2〜〜〜2980da@ec2-34-〜〜〜.compute-1.amazonaws.com:9289
TZ:        Asia/Tokyo

--LANG und TZ werden separat eingestellt. Der Punkt ist die Umgebungsvariable mit dem Namen REDIS_URL.

Quellcode

app.py


import os
import sys
import redis
import random
from flask import Flask
from datetime import datetime as dt

app = Flask(__name__)

#Wenn es sich im Verbindungspfad oder in der Umgebungsvariablen befindet, hat es Priorität
REDIS_URL = os.environ.get('REDIS_URL') if os.environ.get(
    'REDIS_URL') != None else 'redis://localhost:6379'
#Angabe der Datenbank
DATABASE_INDEX = 1  #Wagen Sie 1 statt 0
#Holen Sie sich eine aus dem Verbindungspool
pool = redis.ConnectionPool.from_url(REDIS_URL, db=DATABASE_INDEX)
#Verbindung verwenden
r = redis.StrictRedis(connection_pool=pool)

@app.route('/')
def root():
    return '{"status":"OK"}'

@app.route('/get')
def get():
    n = random.randrange(len(r.keys()))
    key = r.keys()[n]
    return str(r.get(key))

@app.route('/set')
def set():
    tdatetime = dt.now()
    key = tdatetime.strftime('%Y-%m-%d %H:%M:%S')
    r.set(key, {'val': key})
    return '{"action":"set"}'

if __name__ == '__main__':
    app.run(threaded=True)

Recommended Posts

Redis auf Heroku
Shimehari auf Heroku
Stellen Sie die Masonite-App auf Heroku 2020 bereit
Verwenden Sie Numpy, Scipy, Scikit-Learn mit Heroku
Stellen Sie die Django-Anwendung auf Heroku bereit
Python + Django + Scikit-Learn + Mecab (1) mit Heroku
Wie man Matplotlib auf Heroku ausführt
Python + Django + Scikit-Learn + Mecab (2) mit Heroku
DJango-Seite veröffentlicht auf Heroku: Practice
Stellen Sie die Flask-App für Heroku bereit (bitter)
Problem mit Python json.loads (), das str in Heroku zurückgibt
Stellen Sie die Flask-App auf Heroku bereit
Stellen Sie die Flask-App auf Heroku bereit
Django Blog auf Heroku: Login Implementierung
Führen Sie Python regelmäßig auf Heroku Scheduler aus
Stellen Sie Django api mit Heroku bereit (persönliches Memo)
Stellen Sie die Django-App in Heroku bereit [Teil 2]
Stellen Sie die Django-App in Heroku bereit [Teil 1]
Schreiben Sie SVG-Diagramme mit Matplotlib mit Heroku
Ändern Sie die Reihenfolge von PostgreSQL in Heroku
Starten Sie die Flask-Anwendung mit Docker auf Heroku
Ein Memo, das ein Tutorial zum Ausführen von Python auf Heroku erstellt hat
Veröffentlichtes Django-Projekt, entwickelt in Cloud9 auf Heroku
Ich habe versucht, jupyter nteract auf dem Heroku-Server zu starten
Eine Geschichte über das Ausführen von Python auf PHP auf Heroku
Ein Memorandum zum Berühren von Python Flask mit Heroku
Bis zur Verwendung von PhantomJS mit Python auf Heroku