基本認証を実装しているApacheの背後にあるフラスコアプリがあります。ユーザー名とパスワードは、ブール関数check_auth
で外部サービスと照合されます。Flask関数の結果をプロセス間でキャッシュするか?
外部サービスの負荷を軽減するために正しい場合は、ユーザー名とパスワードをキャッシュします。
from werkzeug.contrib.cache import SimpleCache
cache = SimpleCache()
def check_auth(username, password):
if cache.get(username) == password or ext_service_check(username, password):
cache.set(username, password, 300)
return True
else:
return False
しかしApacheは、常に複数のプロセスを開始し、これは私が同じ基本的な認証ヘッダを持つ2つの要求が来るならば、彼らは同じプロセスを打っていないので、キャッシュを利用していないの高いチャンスがあると思います。
このキャッシュはどのレベルにありますか?
SimpleCache
はここに何の利益ももたらさないでしょうか?