<?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"&gt;&lt;div class="h4 alert-heading" role="heading"&gt;Moved&lt;/div&gt;
&lt;p&gt;Repository synchronization is now handled by the &lt;strong&gt;Repository Controller&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;See:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="/docs/5_architecture_and_components/controllers/repository-controller/"&gt;Repository Controller&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="/docs/5_architecture_and_components/controllers/repository-controller/functionality/sync-behavior/"&gt;Sync Behavior&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="/docs/5_architecture_and_components/package-cache/functionality/caching-behavior/#change-detection"&gt;Change Detection &amp;amp; Latest Revision Tracking&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</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"&gt;Overview&lt;/h2&gt;&lt;p&gt;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&gt;
&lt;h3 id="high-level-architecture"&gt;High-Level Architecture&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;┌─────────────────────────────────────────────────────────┐
│ Caching System │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────┐ │
│ │ Cache │ │ Version │ │ Git │ │
│ │ Population │ ───&amp;gt; │ Tracking │ ───&amp;gt; │ Repo │ │
│ │ │ │ │ │ │ │
│ │ • Lazy Load │ │ • Compare │ │ │ │
│ │ • Refresh │ │ • Refresh │ │ │ │
│ └──────────────┘ └──────────────┘ └──────┘ │
│ │ │ │
│ └──────────┬───────────┘ │
│ ↓ │
│ ┌──────────────────┐ │
│ │ Cache Structure │ │
│ │ │ │
│ │ • Maps │ │
│ │ • Mutex │ │
│ │ • Consistency │ │
│ └──────────────────┘ │
└─────────────────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="cache-population"&gt;Cache Population&lt;/h2&gt;&lt;p&gt;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/"&gt;Repository Controller&lt;/a&gt; orchestrates background sync operations that populate and refresh the cache on configurable schedules.&lt;/p&gt;</description></item></channel></rss>