<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cache Functionality on Porch Documentation</title><link>/docs/5_architecture_and_components/package-cache/functionality/</link><description>Recent content in Cache Functionality on Porch Documentation</description><generator>Hugo</generator><language>en-us</language><atom:link href="/docs/5_architecture_and_components/package-cache/functionality/index.xml" rel="self" type="application/rss+xml"/><item><title>Repository Synchronization</title><link>/docs/5_architecture_and_components/package-cache/functionality/repository-synchronization/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/5_architecture_and_components/package-cache/functionality/repository-synchronization/</guid><description>&lt;div class="alert alert-info" role="alert">
&lt;h4 class="alert-heading">Moved&lt;/h4>

 &lt;p>Repository synchronization is now handled by the &lt;strong>Repository Controller&lt;/strong>.&lt;/p>
&lt;p>See:&lt;/p>
&lt;ul>
&lt;li>
&lt;a href="/docs/5_architecture_and_components/controllers/repository-controller/">Repository Controller&lt;/a>&lt;/li>
&lt;li>
&lt;a href="/docs/5_architecture_and_components/controllers/repository-controller/functionality/sync-behavior/">Sync Behavior&lt;/a>&lt;/li>
&lt;li>
&lt;a href="/docs/5_architecture_and_components/package-cache/functionality/caching-behavior/#change-detection">Change Detection &amp;amp; Latest Revision Tracking&lt;/a>&lt;/li>
&lt;/ul>


&lt;/div></description></item><item><title>Caching Behavior</title><link>/docs/5_architecture_and_components/package-cache/functionality/caching-behavior/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/5_architecture_and_components/package-cache/functionality/caching-behavior/</guid><description>&lt;h2 id="overview">Overview&lt;/h2>&lt;p>The Package Cache optimizes performance by storing repository data in memory (CR Cache) or database (DB Cache) to avoid redundant Git operations. The caching system uses lazy loading, version-based refresh, and concurrency control to balance performance with data freshness.&lt;/p>
&lt;h3 id="high-level-architecture">High-Level Architecture&lt;/h3>&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">┌─────────────────────────────────────────────────────────┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ Caching System │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ┌──────────────┐ ┌──────────────┐ ┌──────┐ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ Cache │ │ Version │ │ Git │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ Population │ ───&amp;gt; │ Tracking │ ───&amp;gt; │ Repo │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ │ │ │ │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ • Lazy Load │ │ • Compare │ │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ • Refresh │ │ • Refresh │ │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └──────────────┘ └──────────────┘ └──────┘ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └──────────┬───────────┘ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ↓ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ ┌──────────────────┐ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ Cache Structure │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ • Maps │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ • Mutex │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ │ • Consistency │ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">│ └──────────────────┘ │
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">└─────────────────────────────────────────────────────────┘
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="cache-population">Cache Population&lt;/h2>&lt;p>The cache uses lazy loading and version-based refresh to minimize Git operations. While the cache provides the data storage and access interfaces, the 
&lt;a href="/docs/5_architecture_and_components/controllers/repository-controller/">Repository Controller&lt;/a> orchestrates background sync operations that populate and refresh the cache on configurable schedules.&lt;/p></description></item></channel></rss>