2016-03-23 8 views
5

私はPythonで自分のAPIにフラスカキャッシュを使用しています。フラスキャッシュは、クリアのためにdelete_memoizedに相当します。

現在、私はデコレータ@app.cache.memoize(cache_memoize_value)を使用していますが、私はこの問題は、memoizeと、それは特定の時間のためのnビューとないためにキャッシュされるということですapp.cache.delete_memoized(view)

を呼び出すことによって、それをフラッシュします。キャッシュのタイムアウトを指定する場合は、デコレータ@app.cache.cached(timeout=300)を使用し、app.cache.clear()でクリアする必要があります。しかし、この明確な方法は、特定のビューだけでなくすべてをクリアします。

キャッシュされたデコレータを使用しているときに特定のビューのみをクリアするにはどうすればよいですか?

+0

を行う必要があり、私は同じ問題を抱えて。関数 'delete'がありますが、APIは' delete(* args、** kwargs)です。 内部キャッシュオブジェクトのプロキシ関数です。 ' – tim

答えて

2

これは実際にはかなり簡単で、私はこれを試しておくべきだった。 キャッシュされたデコレータの場合と同様に、memoizedデコレータに値を指定できます。 しかし、その代わりにこれを行う: @app.cache.memoize(cache_memoize_value)

あなたが実際にこの @app.cache.memoize(timeout=cache_memoize_value)

+0

ビューをキャッシュしたい場合は、キャッシュを'削除 'する方法を知っていますか – tim

関連する問題