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

Backend-palveluKäytä sitä, kun
memoryYou need the fastest cache and can keep objects in RAM.
diskYou need cache capacity that survives process restarts.
tieredHaluat muistia kuumille objekteille ja levyä suurempaan kapasiteettiin.
storage-binOdotat paljon vaihtuvuutta ja haluat rajatun levyallokaation.
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

KontrolliTarkoitus
lockCollapse concurrent misses so one request fills the cache.
range.sliceCache fixed byte slices for large files and resumable downloads.
peer_fillAnna yhden edgen täyttää toiselta edgeltä ennen originin käyttöä.
origin_protectionRajoita samanaikaisia origin-fillejä korkean paineen aikana.
cache_purgerSiivoa stale disk entryt rajatuissa erissä.

Use cache carefully

  • Authorization- tai Proxy-Authorization-pyynnöt ohittavat aina jaetun välimuistin haun ja tallennustilan.
  • Väärin muotoiltu tai ristiriitainen vastaus Cache-Control-käskyt hylätään sen sijaan, että ne palaisivat määritettyihin TTL:ihin. s-maxage on etusijalla max-age:han nähden.
  • must-revalidate, proxy-revalidate ja s-maxage estävät vanhentuneen uudelleenkäytön tuoreuden umpeutumisen jälkeen.
  • Keep cache keys bounded and predictable.
  • Käytä yhtä storage-bin-juurihakemistoa kutakin käynnissä olevaa Fluxheim-prosessia kohti; omistajuus käyttää neuvoa-antavaa tiedostojärjestelmälukkoa, ja jaetut usean kirjoittajan juuret ovat vaarallisia ilman varmennettua ulkoista lukitusta.
  • Käytä purgea tai lyhyitä TTL:iä, kun sisältö muuttuu usein.
  • Bypass on cookies, preview headers, and unsafe query strings.

Salatun välimuistin päivityshuomautus

Fluxheim 1.7.12 käyttää salatuille levyvälimuistiobjekteille välimuistijuureen sidottuja data- ja indeksiavaimia sekä pysyvää nonce-tilaa. Ensimmäinen käynnistys vanhemmalla salatulla juurella ja jokainen paikallisen avaimen kierto tyhjentävät välimuistin tarkoituksella ennen liikenteen vastaanottamista.

  • Salatut välimuistitiedot ovat korvattavissa, eikä niitä saa käsitellä ensisijaisena tietolähteenä.
  • Anna jokaiselle välimuistin juurelle pysyvä yksityinen tallennustila, äläkä kopioi nonce-tilaa itsenäisten juurien välillä.
  • Varmista, että alkuperäpalvelin kestää välimuistin ensimmäisen lämmityksen päivityksen tai avaimen kierron jälkeen.
Suomi