Caching front-end dan sesi back end

Caching front-end

Kami tidak merekomendasikan penggunaan alat caching front-end dengan dasbor. Dasbor menampilkan konten dinamis yang dihasilkan langsung dari permintaan API OpenStack dan lapisan caching front-end seperti lapisan pernis dapat mencegah konten yang benar ditampilkan. Di Django, media statis langsung dilayani dari Apache atau Nginx dan sudah mendapat manfaat dari caching host web.

Sesi back end

Sesi back end default horizon django.contrib.sessions.backends.signed_cookies menyimpan data pengguna yang masuk, tapi cookie yang tidak dienkripsi disimpan di browser. Karena fakta bahwa setiap instance dasbor stateless, metodologi yang disebutkan sebelumnya memberi kemampuan untuk menerapkan penskalaan sesi back-end yang paling sederhana.

Perlu dicatat bahwa dengan jenis pelaksanaan ini token akses yang sensitif akan disimpan di browser dan akan dikirimkan dengan setiap permintaan yang dilakukan. Back end memastikan integritas data sesi, meskipun data yang dikirim hanya dienkripsi oleh HTTPS.

Jika arsitektur Anda mengizinkan penyimpanan bersama dan dan jika Anda telah mengonfigurasi cache dengan benar, sebaiknya setel SESSION_ENGINE` ke ``django.contrib.sessions.backends.cache dan gunakan sebagai backend sesi berbasis cache dengan Memcached sebagai cache. Memcached adalah penyimpanan key-value dalam memori yang efisien untuk potongan data yang dapat digunakan dalam ketersediaan tinggi dan lingkungan terdistribusi dan mudah dikonfigurasi. Namun, Anda perlu memastikan bahwa tidak ada kebocoran data. Memcached menggunakan RAM cadangan untuk menyimpan blok data yang sering diakses, berfungsi seperti cache memori untuk informasi yang diakses berulang kali. Karena memcached memanfaatkan memori lokal, tidak ada overhead penggunaan sistem database dan file yang menyebabkan akses data langsung dari RAM dan bukan dari disk.

Sebaiknya gunakan Memcached bukan cache memori lokal karena cepat, mempertahankan data untuk durasi yang lebih lama, aman dalam proses multi-proses dan memiliki kemampuan untuk berbagi cache melalui beberapa server, namun tetap memperlakukannya sebagai cache tunggal.

Untuk mengaktifkan memcached, jalankan perintah berikut:

SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
    'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache'
}

Untuk keterangan lebih lanjut, lihat Django documentation.