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

ব্যাকএন্ডএটি ব্যবহার করুন যখন
memoryYou need the fastest cache and can keep objects in RAM.
diskYou need cache capacity that survives process restarts.
tieredআপনি গরম বস্তুর জন্য মেমরি এবং বড় ক্ষমতার জন্য ডিস্ক চান।
storage-binআপনি উচ্চ মন্থন আশা করেন এবং আবদ্ধ ডিস্ক বরাদ্দ চান।
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

নিয়ন্ত্রণউদ্দেশ্য
lockCollapse concurrent misses so one request fills the cache.
range.sliceCache fixed byte slices for large files and resumable downloads.
peer_fillঅরিজিন ব্যবহার করার আগে এক প্রান্ত অন্য প্রান্ত থেকে পূর্ণ হতে দিন।
origin_protectionউচ্চ চাপের সময় সমসাময়িক উত্স পূরণ সীমিত করুন।
cache_purgerআবদ্ধ ব্যাচে বাসি ডিস্ক এন্ট্রি পরিষ্কার করুন।

Use cache carefully

  • Authorization বা Proxy-Authorization বহন করার অনুরোধগুলি সর্বদা শেয়ার্ড-ক্যাশে লুকআপ এবং স্টোরেজ বাইপাস করে।
  • বিকৃত বা বিরোধপূর্ণ প্রতিক্রিয়া Cache-Control নির্দেশাবলী কনফিগার করা TTLগুলিতে ফিরে আসার পরিবর্তে প্রত্যাখ্যান করা হয়; s-maxage max-age এর চেয়ে অগ্রাধিকার নেয়।
  • must-revalidate, proxy-revalidate, এবং s-maxage সতেজতার মেয়াদ শেষ হওয়ার পরে পুরানো পুনঃব্যবহার নিষিদ্ধ করে।
  • Keep cache keys bounded and predictable.
  • প্রতিটি চলমান Fluxheim process-এর জন্য একটি storage-bin root ব্যবহার করুন; ownership advisory filesystem lock ব্যবহার করে, তাই যাচাইকৃত external locking ছাড়া shared multi-writer root নিরাপদ নয়।
  • যখন বিষয়বস্তু প্রায়ই পরিবর্তিত হয় তখন পরিস্কার বা ছোট টিটিএল ব্যবহার করুন।
  • Bypass on cookies, preview headers, and unsafe query strings.

এনক্রিপ্টেড-ক্যাশে আপগ্রেড নোট

Fluxheim 1.7.12 এনক্রিপ্ট করা ডিস্ক ক্যাশে অবজেক্টগুলিকে রুট-বাউন্ড ডেটা এবং ইনডেক্স কীগুলিতে টেকসই ননস অবস্থায় নিয়ে যায়। একটি পুরানো এনক্রিপ্ট করা রুটের বিরুদ্ধে প্রথম স্টার্টআপ, এবং প্রতিটি স্থানীয়-কী ঘূর্ণন, ইচ্ছাকৃতভাবে ট্র্যাফিক পরিবেশন করার আগে ক্যাশে ঠাণ্ডা করে।

  • এনক্রিপ্ট করা ক্যাশেকে ডিসপোজেবল ত্বরণ হিসাবে বিবেচনা করুন, রেকর্ডের উৎস নয়।
  • প্রতিটি ক্যাশে রুটকে ক্রমাগত ব্যক্তিগত সঞ্চয়স্থান দিন এবং স্বাধীন রুটের মধ্যে ননস স্টেট কপি করবেন না।
  • আপগ্রেড বা ঘোরানো কীগুলির পরে প্রথম ওয়ার্ম-আপের জন্য মূল ক্ষমতার পরিকল্পনা করুন।
বাংলা