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

HáttérrendszerHasználd, amikor
memoryYou need the fastest cache and can keep objects in RAM.
diskYou need cache capacity that survives process restarts.
tieredMemóriát szeretnél hot objectekhez és lemezt nagyobb kapacitáshoz.
storage-binMagas churn várható, és bounded disk allocation kell.
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

VezérlésCél
lockCollapse concurrent misses so one request fills the cache.
range.sliceCache fixed byte slices for large files and resumable downloads.
peer_fillEgy edge töltsön egy másik edge-ről, mielőtt originhez fordul.
origin_protectionConcurrent origin filleket limitál nagy nyomás alatt.
cache_purgerStale disk entryk tisztítása bounded batchekben.

Use cache carefully

  • A Authorization vagy Proxy-Authorization kérelmek mindig megkerülik a megosztott gyorsítótár keresését és tárolását.
  • Rosszul formázott vagy ütköző válasz A Cache-Control direktívák elutasításra kerülnek, ahelyett, hogy visszakerülnének a konfigurált TTL-ekre; A s-maxage elsőbbséget élvez a max-age-val szemben.
  • A must-revalidate, proxy-revalidate és s-maxage tiltja az elavult újrafelhasználást a frissesség lejárta után.
  • Keep cache keys bounded and predictable.
  • Minden futó Fluxheim folyamathoz egy storage-bin root tartozzon; a tulajdonjog tanácsadó fájlrendszerzárat használ, a több writer által megosztott roots pedig ellenőrzött külső zárolás nélkül nem biztonságosak.
  • Gyakran változó contenthez használj purge-öt vagy rövid TTL-eket.
  • Bypass on cookies, preview headers, and unsafe query strings.

Megjegyzés a titkosított gyorsítótár frissítéséről

Fluxheim A 1.7.12 a titkosított lemezgyorsítótár objektumokat gyökér-kötött adatokba és indexkulcsokba helyezi át tartós nonce állapotú. Az első indítás egy régebbi titkosított gyökér ellen, és minden helyi kulcs elforgatása szándékosan hidegen törli a gyorsítótárat a forgalom kiszolgálása előtt.

  • A titkosított gyorsítótárat kezelje eldobható gyorsítóként, ne a rekord forrásaként.
  • Minden gyorsítótár-gyökérnek adjon állandó privát tárhelyet, és ne másoljon át semmilyen állapotot a független gyökerek között.
  • Tervezze meg az eredetkapacitást az első bemelegítéshez a frissítés vagy a kulcsok elforgatása után.
Magyar