Aplikasi sudah lemot, apakah perlu menggunakan caching?
Sebelum kita membahas lebih jauh mengenai sistem caching, ada baiknya kita pahami terlebih dahulu mengenai apa itu cache. Cache adalah sebuah sistem penyimpanan yang digunakan untuk menyimpan data yang sering digunakan atau diakses, sehingga data tersebut dapat diakses dengan cepat di kemudian hari tanpa harus mengambilnya kembali dari sumber aslinya.
Cache dapat digunakan dalam berbagai sistem, termasuk komputer, perangkat lunak, dan jaringan. Dalam konteks komputer, cache dapat digunakan pada sistem operasi, browser web, atau aplikasi perangkat lunak. Dalam jaringan, cache dapat digunakan pada server proxy atau Content Delivery Network (CDN) untuk meningkatkan performa jaringan.
Pada website dan aplikasi seluler penerapan cache dilakukan pada konten yang tidak berubah-ubah, ada contohnya data pesan yang sudah di unduh dari server, gambar foto profile yang jaran di ubah, serta asset lain yang selalu digunakan ketika menggunakan aplikasi.
Untuk konten yang di namis alias berubah-ubah cache tidak di butuhkan. Secara umum, konten dinamis tidak dapat dicache dengan baik karena setiap permintaan dapat menghasilkan output yang berbeda. Namun, ada beberapa cara untuk meningkatkan performa caching untuk konten dinamis, seperti menggunakan metode caching per-user atau menggunakan sistem cache tingkat aplikasi. Namun, solusi ini tidak selalu efektif dan tergantung pada konteks aplikasi spesifik.
Apa yang akan terjadi jika kita menerapkan caching pada konten dinamis? yang terjadi adalah data pada sisi frontend tidak berubah, ini mempengaruhi singkronisasi data. Misalnya ketika user melakukan checkout terhadap barang, sementara konten yang ada pada frontend sudah di caching.
Ketika ada perubahaan saat melakukan checkout user tidak akan melihat perubahan tersebut, karena dia meload konten yang sudah di caching. Tentunya akan membuat dia melakukan checkot beberapa kali. Dampak dari caching konten dinamis, bisa menyebakan multiple order atau multiple input.