Как сохранить переменную count.name в Redis (где имя является аргументом) - PullRequest
0 голосов
/ 02 декабря 2018

Redis считает количество попаданий в корень.Я добавил аргумент «имя», мой код выглядит следующим образом:

from flask import Flask
from redis import Redis

app = Flask(__name__)
redis = Redis(host='redis', port=6379)

@app.route('/')
@app.route('/<name>')
def hello(name):
    count = redis.incr('hits')
    return 'Hello {} I have been seen {} times.\n'.format(name,count)       

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8000, debug=True)

Я хочу сохранить и вернуть другой счетчик, который я хочу связать с «именем» var.Я думал об использовании массива, но я не уверен, как это реализовать.

1 Ответ

0 голосов
/ 02 декабря 2018

Один простой способ сделать это - сохранить строку json, которая представляет словарь пользователей и их количество, например:

import json

@app.route('/')
@app.route('/<name>')
def hello(name):
    counts = json.loads(redis.get('hits') or '{}')
    try:
         counts[name] += 1
    except KeyError:
         counts[name] = 1
    redis.set('hits', json.dumps(counts))
    return 'Hello {} I have been seen {} times.\n'.format(name,counts[name])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...