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
| ব্যাকএন্ড | এটি ব্যবহার করুন যখন |
|---|---|
memory | You need the fastest cache and can keep objects in RAM. |
disk | You need cache capacity that survives process restarts. |
tiered | আপনি গরম বস্তুর জন্য মেমরি এবং বড় ক্ষমতার জন্য ডিস্ক চান। |
storage-bin | আপনি উচ্চ মন্থন আশা করেন এবং আবদ্ধ ডিস্ক বরাদ্দ চান। |
encrypted disk | You 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
| নিয়ন্ত্রণ | উদ্দেশ্য |
|---|---|
lock | Collapse concurrent misses so one request fills the cache. |
range.slice | Cache 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-maxagemax-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 এনক্রিপ্ট করা ডিস্ক ক্যাশে অবজেক্টগুলিকে রুট-বাউন্ড ডেটা এবং ইনডেক্স কীগুলিতে টেকসই ননস অবস্থায় নিয়ে যায়। একটি পুরানো এনক্রিপ্ট করা রুটের বিরুদ্ধে প্রথম স্টার্টআপ, এবং প্রতিটি স্থানীয়-কী ঘূর্ণন, ইচ্ছাকৃতভাবে ট্র্যাফিক পরিবেশন করার আগে ক্যাশে ঠাণ্ডা করে।
- এনক্রিপ্ট করা ক্যাশেকে ডিসপোজেবল ত্বরণ হিসাবে বিবেচনা করুন, রেকর্ডের উৎস নয়।
- প্রতিটি ক্যাশে রুটকে ক্রমাগত ব্যক্তিগত সঞ্চয়স্থান দিন এবং স্বাধীন রুটের মধ্যে ননস স্টেট কপি করবেন না।
- আপগ্রেড বা ঘোরানো কীগুলির পরে প্রথম ওয়ার্ম-আপের জন্য মূল ক্ষমতার পরিকল্পনা করুন।