Cara Menggunakan Cavity (IndexedDB Cache Utility)
Cavity adalah utilitas caching yang menyimpan data ke IndexedDB dengan dukungan expired time, realtime invalidation via socket, dan subscription key untuk sinkronisasi cache antar tab maupun server.
Menyimpan Cache
Simpan data ke IndexedDB dengan expired time (menit).
Kode berhasil di copy!
Mengambil Cache
Jika expired atau tidak ditemukan, akan mengembalikan null.
Kode berhasil di copy!
Menghapus Cache
Menghapus cache berdasarkan key tertentu.
Kode berhasil di copy!
Realtime Invalidasi Cache (Socket)
Cavity mendukung invalidasi cache lintas client menggunakan socket events. Berguna untuk aplikasi dengan data realtime atau multi-user.
Register Socket
Panggil sekali pada root app (misalnya _app.tsx).
Kode berhasil di copy!
Subscribe Cache Key
Client akan otomatis di-notify bila cache pada key tersebut dihapus oleh server.
Kode berhasil di copy!
Unsubscribe Cache Key
Menghentikan monitoring cache untuk key tertentu.
Kode berhasil di copy!
Invalidasi Cache via Socket
Digunakan ketika ingin memberi tahu semua client bahwa cache harus dibuang. Biasanya dipanggil dari admin panel atau backend.