Cache

Use cache when Fluxheim sits in front of an origin and repeated responses should be served faster.

Proxy cache example

[cache]
enabled = true
default_ttl_secs = 300
max_object_bytes = "32MiB"
status_header = "X-Cache-Status"

[cache.memory]
enabled = true
max_size_bytes = "256MiB"

[cache.disk]
enabled = true
path = "/var/cache/fluxheim/site"
max_size_bytes = "10GiB"

Cache backends

Arka uçŞu durumda kullanın
memoryYou need the fastest cache and can keep objects in RAM.
diskYou need cache capacity that survives process restarts.
tieredSıcak nesneler için bellek, daha büyük kapasite için disk kullanmak istiyorsunuz.
storage-binYüksek değişim bekliyorsunuz ve disk kullanımını sınırlı tutmak istiyorsunuz.
encrypted diskYou need cache-at-rest protection for disk objects.

Route cache policy

[[vhosts.routes]]
name = "assets"
path_prefix = "/assets/"
action = "proxy"

[vhosts.routes.proxy]
upstreams = ["127.0.0.1:3000"]

[vhosts.routes.cache]
enabled = true
status_ttls = { "200" = 3600, "404" = 60 }
content_types = ["text/css", "application/javascript", "image/*"]
extensions = ["css", "js", "png", "webp", "svg"]
include_query = false
stale_while_revalidate_secs = 30
stale_if_error_secs = 120

Advanced cache controls

KontrolAmaç
lockCollapse concurrent misses so one request fills the cache.
range.sliceCache fixed byte slices for large files and resumable downloads.
peer_fillOrigin kullanılmadan önce bir edge'in başka bir edge'den doldurmasına izin verin.
origin_protectionYüksek baskı altında eşzamanlı origin doldurmalarını sınırlayın.
cache_purgerEski disk girdilerini sınırlı partiler halinde temizleyin.

Use cache carefully

  • Authorization veya Proxy-Authorization taşıyan istekler her zaman paylaşılan önbellek aramasını ve depolamayı atlar.
  • Hatalı biçimlendirilmiş veya çelişkili yanıt Cache-Control yönergeleri, yapılandırılmış TTL'lere geri dönmek yerine reddedilir; s-maxage, max-age'ya göre önceliklidir.
  • must-revalidate, proxy-revalidate ve s-maxage, tazelik süresi dolduktan sonra eskimiş yeniden kullanımı yasaklar.
  • Keep cache keys bounded and predictable.
  • Çalışan her Fluxheim işlemi için bir storage-bin kökü kullanın; sahiplik danışma amaçlı bir dosya sistemi kilidi kullanır ve paylaşılan çok yazıcılı kökler doğrulanmış harici kilitleme olmadan güvenli değildir.
  • Content sık değişiyorsa purge veya short TTLs kullanın.
  • Bypass on cookies, preview headers, and unsafe query strings.

Şifreli önbellek yükseltme notu

Fluxheim 1.7.12, şifrelenmiş disk önbellek nesnelerini dayanıklı tek seferlik durumla kök bağlantılı verilere ve dizin anahtarlarına taşır. Daha eski bir şifrelenmiş köke karşı ilk başlatma ve her yerel anahtar rotasyonu, trafiğe hizmet vermeden önce bu önbelleği kasıtlı olarak soğuk olarak temizler.

  • Şifrelenmiş önbelleğe kaydın kaynağı olarak değil, tek kullanımlık hızlandırma olarak davranın.
  • Her önbellek köküne kalıcı özel depolama alanı sağlayın ve bağımsız kökler arasında tek seferlik durumu kopyalamayın.
  • Anahtarları yükselttikten veya döndürdükten sonra ilk ısınma için başlangıç kapasitesini planlayın.
Türkçe