Flask计数器

计数器实现方式:

  1. 使用session
  2. 使用多线程
  3. 使用内存数据库,如redis
  • 使用session
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# -*- coding: utf-8 -*-
from flask import Flask, jsonify, session

app = Flask(__name__)
app.secret_key = 'test'


@app.route('/index')
def news():
if session.get('click', None) is None:
session['click'] = 0
else:
session['click'] += 1
return jsonify(click=session['click'])


if __name__ == "__main__":
app.run()

  • 使用多线程
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# -*- coding: utf-8 -*-
from flask import Flask, jsonify
from multiprocessing import Value

app = Flask(__name__)
counter = Value('i', 0) # i表示有符号整数


@app.route('/index')
def news():
with counter.get_lock():
counter.value += 1
return jsonify(click=counter.value)


if __name__ == "__main__":
app.run()

  • 使用redis
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# -*- coding: utf-8 -*-
import redis
from flask import Flask, jsonify


app = Flask(__name__)
# redis connection
kv_store = redis.Redis(host='0.0.0.0', port=6379, db=0)


@app.route('/index')
def news():
c = kv_store.incr('count')
return jsonify(count=c)


if __name__ == "__main__":
app.run()


Flask计数器
https://percent4.github.io/Flask计数器/
作者
Jclian91
发布于
2023年7月10日
许可协议