Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan Flask-Cache untuk pengurusan cache

Cara menggunakan Flask-Cache untuk pengurusan cache

王林
王林asal
2023-08-02 17:30:241975semak imbas

Cara menggunakan Flask-Cache untuk pengurusan cache

Cache ialah salah satu cara penting untuk meningkatkan prestasi aplikasi Ia boleh menyimpan beberapa hasil operasi yang intensif pengiraan atau memakan masa, dan terus mengembalikan hasil cache apabila diperlukan pada masa akan datang untuk mengelakkan. penduaan Pengiraan atau pertanyaan pangkalan data untuk meningkatkan kelajuan tindak balas. Dalam proses membangunkan aplikasi web menggunakan Flask, kami boleh menggunakan sambungan Flask-Cache untuk pengurusan cache. Artikel ini akan memperkenalkan cara menggunakan Flask-Cache untuk pengurusan cache dan memberikan contoh kod yang sepadan.

  1. Pasang Flask-Cache

Mula-mula, kita perlu memasang sambungan Flask-Cache dalam projek. Ia boleh dipasang melalui arahan pip Perintah contoh adalah seperti berikut:

pip install flask-cache
  1. Initialize Flask-Cache

Dalam fail kemasukan aplikasi Flask, kita perlu mengimport modul Flask-Cache dahulu dan pilih cache kaedah penyimpanan seperti yang diperlukan, seperti berikut Paparan:

from flask import Flask
from flask_cache import Cache

app = Flask(__name__)

# 选择缓存的存储方式
cache = Cache(app, config={'CACHE_TYPE': 'simple'})

Dalam kod di atas, kami memilih mod mudah sebagai kaedah penyimpanan cache, yang menyimpan data cache dalam ingatan. Selain mod ringkas, Flask-Cache juga menyediakan mod caching lain, seperti redis, sistem fail, dll., yang boleh dipilih mengikut keperluan sebenar.

  1. Fungsi paparan cache

Selepas menggunakan Flask-Cache, kita boleh cache hasil fungsi paparan melalui penghias @cache.cached. Contohnya adalah seperti berikut:

@app.route('/')
@cache.cached(timeout=60)  # 缓存结果60秒
def index():
    # 执行一些耗时的操作,如计算、数据库查询等
    # 返回结果
    return 'Hello, Flask!'

Dalam contoh di atas, kami mencache fungsi paparan indeks Tempoh sah hasil cache ialah 60 saat, yang bermaksud permintaan yang sama dalam masa 60 saat akan mengembalikan hasil cache secara langsung tanpa melaksanakan. fungsi lihat.

  1. Kosongkan cache

Jika anda perlu mengosongkan cache, anda boleh menggunakan @cache.clear decorator untuk menghiasi fungsi paparan Kod contoh adalah seperti berikut:

@app.route('/clear_cache')
@cache.clear
def clear_cache():
    return 'Cache cleared!'

Dalam contoh di atas, apabila '/. clear_cache' laluan diakses, ia akan dikosongkan Semua cache.

  1. Nilai kunci cache tersuai

Secara lalai, Flask-Cache akan menggunakan URL fungsi paparan sebagai nilai kunci cache, tetapi kadangkala kami ingin menyesuaikan nilai kunci cache. Anda boleh menggunakan parameter make_key penghias @cache.cached untuk melaksanakan fungsi menyesuaikan nilai kunci cache Kod sampel adalah seperti berikut:

@app.route('/user/<username>')
@cache.cached(timeout=60, make_key=lambda view_name, **kwargs: f'user:{kwargs["username"]}')
def user(username):
    # 根据用户名查询用户信息
    # 返回结果
    return f'Hello, {username}!'

Dalam contoh di atas, kami menggunakan parameter make_key untuk menyesuaikan kunci cache pengguna. nilai, dalam bentuk 'pengguna: nama pengguna'. Dengan cara ini, jika nama pengguna yang sama meminta fungsi paparan dalam tempoh sah, hasil cache akan dikembalikan terus.

Ringkasan

Melalui sambungan Flask-Cache, kami boleh melaksanakan fungsi pengurusan cache dengan mudah dan meningkatkan kelajuan tindak balas aplikasi. Artikel ini memperkenalkan cara menggunakan Flask-Cache untuk pengurusan cache dan memberikan contoh kod yang sepadan. Saya harap ia akan membantu anda dalam pengurusan cache apabila membangunkan aplikasi web menggunakan Flask.

Atas ialah kandungan terperinci Cara menggunakan Flask-Cache untuk pengurusan cache. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn