Flaskを用いたWebアプリとかで、Flask-Cachingというパッケージを使ってキャッシュを有効することで高速化できます。
@cache~デコレータをつけるだけという、とてもシンプルな方法。以下メモ。
準備:
Flask-Cachingをpipでインストール
pip install Flask-Caching
仕様例(コードサンプル):
from flask import Flask, render_template, request
from flask_caching import Cache
import mysql.connector
from threading import Lock
from configparser import ConfigParser
app = Flask(__name__)
# コンフィグファイルの読み込み
config = ConfigParser()
config.read('config.ini')
# キャッシュの設定
cache = Cache(app, config={'CACHE_TYPE': 'simple'})
# スレッドセーフなMySQL接続を確保するためのロックを作成
lock = Lock()
@cache.memoize()
def get_db_connection():
return mysql.connector.connect(
host=config.get('Database', 'host'),
~中略~
)
# ルート定義
@app.route('/')
def index():
current_number = request.args.get('number', default=1, type=int)
~以下、処理が続く~