0Pricing
Web Performance Optimization & Lighthouse · Pelajaran

Penyimpanan Cache dan Kompresi Respons API

Percepat respons backend dengan lapisan cache dalam memori dan terdistribusi, pembatalan cache yang cerdas, serta pengurangan muatan agar server bekerja lebih sedikit pada setiap permintaan.

Penyimpanan Cache dan Kompresi Respons API adalah pelajaran Web Performance Optimization & Lighthouse gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Web Performance Optimization & Lighthouse, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Web Performance Optimization & Lighthouse mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Why Cache on the Backend?

Recomputing the same response for every request wastes CPU and database time. Caching stores computed results so repeat requests return instantly, cutting both latency and load.

Layers of Caching

  • In-process memory fastest, but per-instance.
  • Distributed cache (Redis/Memcached) shared across servers.
  • HTTP/CDN cache at the edge.

A Simple Cache-Aside Pattern

The most common pattern: check the cache, return on hit, otherwise compute, store, and return. This is called cache-aside.

async function getUser(id) {
  const hit = await redis.get('user:' + id);
  if (hit) return JSON.parse(hit);
  const user = await db.findUser(id);
  await redis.set('user:' + id, JSON.stringify(user), 'EX', 300);
  return user;
}

Choosing a TTL

A time to live balances freshness against hit rate. Volatile data needs short TTLs; reference data can live much longer. Always set some expiry to avoid stale buildup.

Invalidation Strategies

The hard part of caching is invalidation. On writes, either delete the affected keys or update them (write-through). Stale data here is a common production bug.

async function updateUser(id, data) {
  await db.update(id, data);
  await redis.del('user:' + id);
}

HTTP Caching Headers

For cacheable API responses, set Cache-Control so browsers and CDNs can reuse them, removing the request entirely on a hit.

res.set('Cache-Control', 'public, max-age=60, stale-while-revalidate=300');

Conditional Requests

ETag and If-None-Match let the server reply 304 Not Modified with no body when data is unchanged, saving bandwidth.

res.set('ETag', hashOf(payload));
// next time: if If-None-Match matches, send 304

Shrinking the Payload

Return only the fields clients need, paginate large lists, and avoid over-fetching. Smaller payloads serialize faster and transfer quicker.

Compressing Responses

Enable gzip or Brotli on JSON responses. Combined with caching, this minimizes both compute and transfer per request.

const compression = require('compression');
app.use(compression());

Avoiding Stampedes

When a hot key expires, many requests may hit the database at once (a cache stampede). Mitigate with locks, request coalescing, or stale-while-revalidate.

Strategy Summary

  • Cache-aside with sensible TTLs.
  • Invalidate on writes.
  • Use Cache-Control and ETags.
  • Trim and compress payloads.
  • Guard against stampedes.

Quick Check

After a user updates their profile, the API keeps returning the old data for several minutes. What is the most likely cause?

Recap

You learned to cut backend work with layered caching (cache-aside, TTLs, invalidation on writes), HTTP caching via Cache-Control and ETags, payload trimming, and compression, while guarding against cache stampedes.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Penyimpanan Cache dan Kompresi Respons API” gratis?

Ya — teks lengkap “Penyimpanan Cache dan Kompresi Respons API” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Web Performance Optimization & Lighthouse, upgrade ke CoddyKit PRO. Kursus Web Performance Optimization & Lighthouse mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Penyimpanan Cache dan Kompresi Respons API”?

Percepat respons backend dengan lapisan cache dalam memori dan terdistribusi, pembatalan cache yang cerdas, serta pengurangan muatan agar server bekerja lebih sedikit pada setiap permintaan. Kamu berlatih Web Performance Optimization & Lighthouse dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Web Performance Optimization & Lighthouse?

Tidak diperlukan pengalaman sebelumnya. Web Performance Optimization & Lighthouse di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Penyimpanan Cache dan Kompresi Respons API” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Web Performance Optimization & Lighthouse ini?

Ya. Setiap pelajaran Web Performance Optimization & Lighthouse menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Hambatan Kinerja Backend
  2. Pengoptimalan Kueri Basis Data
  3. Dampak Rendering Sisi Server (SSR)
  4. Penyimpanan Cache dan Kompresi Respons API
← Kembali ke Web Performance Optimization & Lighthouse