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-teenusKasuta, kui
memoryYou need the fastest cache and can keep objects in RAM.
diskYou need cache capacity that survives process restarts.
tieredTahad mälu kuumade objektide jaoks ja ketast suurema mahu jaoks.
storage-binOotad suurt churni ja tahad piiratud kettaeraldust.
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

TöökontrollEesmärk
lockCollapse concurrent misses so one request fills the cache.
range.sliceCache fixed byte slices for large files and resumable downloads.
peer_fillLase ühel edgel täita teiselt edgelt enne origin'i kasutamist.
origin_protectionPiira samaaegseid origin fills suure surve ajal.
cache_purgerPuhasta stale disk entries piiratud partiidena.

Use cache carefully

  • Authorization või Proxy-Authorization kandvad taotlused mööduvad alati jagatud vahemälu otsingust ja salvestusest.
  • Valesti vormindatud või vastuoluline vastus Cache-Control direktiivid lükatakse tagasi, selle asemel et konfigureeritud TTL-idele tagasi pöörduda; s-maxage eelistab max-age.
  • must-revalidate, proxy-revalidate ja s-maxage keelavad aegunud taaskasutamise pärast värskuse aegumist.
  • Keep cache keys bounded and predictable.
  • Kasutage iga töötava Fluxheimi protsessi kohta üht storage-bin-juurkataloogi; omandiõigus kasutab nõuandvat failisüsteemilukku ning jagatud mitme kirjutajaga juurkataloogid on ilma kontrollitud välise lukustuseta ohtlikud.
  • Kasuta purge'i või lühikesi TTL-e, kui sisu muutub sageli.
  • Bypass on cookies, preview headers, and unsafe query strings.

Krüpteeritud vahemälu uuendamise märkus

Fluxheim 1.7.12 teisaldab krüptitud ketta vahemäluobjektid juur-sidestatud andmetele ja indeksivõtmetele, millel on püsiv mitteühe olek. Esimene käivitamine vanema krüptitud juurfaili vastu ja iga kohaliku võtme pööramine puhastab enne liikluse teenindamist tahtlikult vahemälu.

  • Käsitlege krüptitud vahemälu ühekordselt kasutatava kiirendusena, mitte salvestusallikana.
  • Andke igale vahemälu juurtele püsiv privaatmälu ja ärge kopeerige sõltumatute juurte vahel nonce-olekut.
  • Planeerige algvõimsus esimeseks soojenduseks pärast uuendamist või võtmete pööramist.
Eesti