Ticket Scout: Cache Management
Ticket Scout caches ticket data to reduce PSA API calls and improve lookup speed. Default settings (5-minute cache, 4-hour cleanup) work for most users. This guide covers how caching works, where data is stored, and how to tune settings for large environments or specific performance needs.
Prerequisites
- Ticket Scout installed and connected to your PSA
- Basic familiarity with Ticket Scout settings
- Chrome or Edge browser
Most users never need to adjust cache settings. This guide helps with:
- Large PSA environments (1000+ tickets)
- Slow performance or browser lag
- Understanding what data is stored locally
How Caching Works
Cache Behavior
When you interact with a ticket ID:
- Check cache first - If ticket data is cached and valid, display instantly
- Fetch from PSA if needed - If not cached or expired, query the PSA API
- Store the result - Save ticket data locally for future lookups
What gets cached:
- Individual ticket details (ID, summary, status, company, owner, etc.)
- Company-related tickets (when viewing "Related Tickets")
- Recently viewed ticket list
Two Expiration Timers
Ticket Scout uses two independent timers:
| Timer | Default | Purpose |
|---|---|---|
| TTL (Time-to-Live) | 5 minutes | How long before data is considered outdated |
| Inactivity Timeout | 4 hours | How long since last access before cleanup |
A cached ticket expires if EITHER condition is met.
Example:
- View Ticket #12345 at 9:00 AM (cached)
- View again at 9:04 AM (cache hit, still fresh)
- View again at 9:06 AM (expired, re-fetched from PSA)
- If not viewed again until 2:00 PM (5 hours later), pruned for inactivity
Storage Location
Cache data is stored in Chrome Extension Local Storage:
- Browser-specific (does not sync across devices)
- Persistent (survives browser restarts)
- Per-extension (isolated from other extensions and websites)
Viewing Cache Storage
To inspect cache data directly:
- Open Chrome DevTools (
F12or right-click → Inspect) - Navigate to Application tab
- Expand Storage → Extension Storage → Local
- Find Ticket Scout extension ID
- Browse cache entries
Cache entry structure:
| Key Pattern | Example | Contains |
|---|---|---|
cache:ticket:{id} | cache:ticket:12345 | Individual ticket data with timestamp |
cache:company:{id}:{days} | cache:company:98:30 | Company-related tickets for last 30 days |
recentlyViewedTickets | Array of ticket IDs | Recently viewed history |
Cache Settings
To access cache settings:
- Click the Ticket Scout extension icon in your browser toolbar
- Click Configure Extension button
- Click Cache Management tab
Cache Duration (TTL)
Default: 5 minutes Range: 1-60 minutes
Controls how long ticket data remains valid before requiring a fresh PSA fetch.
When to adjust:
| Scenario | Recommended | Reason |
|---|---|---|
| Active support desk | 2-3 minutes | Tickets change frequently |
| Stable environment | 15-30 minutes | Tickets rarely change |
| Large environment with slow API | 10-15 minutes | Balance freshness and API performance |
| Default | 5 minutes | Good for most users |
PSA systems have API rate limits. If you hit rate limit errors, increase cache duration to reduce API calls. The UI enforces a minimum of 1 minute.
Inactivity Cleanup Timeout
Default: 4 hours Range: 1-24 hours
Controls how long since last access before a cached ticket is eligible for cleanup.
When to adjust:
| Scenario | Recommended | Reason |
|---|---|---|
| High ticket volume (50+ tickets/day) | 2-4 hours | Prevent cache bloat |
| Light usage | 8-12 hours | Keep tickets cached for follow-up |
| Performance issues | 1-2 hours | Aggressive cleanup to reduce cache size |
| Default | 4 hours | Balances cleanup and convenience |
Cleanup runs automatically in the background. Manual clearing is only needed for troubleshooting.
Manual Controls
Clear All Cache button:
- Removes all cached ticket data
- Clears recently viewed history
- Use when troubleshooting stale data or testing
Refresh Cache View button:
- Updates cache statistics display
- Does not modify cache data
Cache Statistics:
- Ticket Count: Number of individual tickets cached
- Company Count: Number of company-related ticket queries cached
- Total Size: Approximate cache size in KB
Performance Tuning
Large Organizations (1000+ Tickets/Day)
Problem: Browser feels sluggish, extension lags when opening ticket details.
Solutions:
-
Reduce inactivity timeout to 2 hours
- Extension icon → Configure Extension → Cache Management tab
- Set Inactivity Cleanup to 2 hours
-
Increase TTL to 10-15 minutes
- Extension icon → Configure Extension → Cache Management tab
- Set Cache Duration to 10 minutes
-
Monitor cache statistics
- If cache grows beyond 500-1000 tickets, use more aggressive cleanup
Fast-Changing Environments (Support Desks)
Problem: Ticket data is outdated (status changed, notes added).
Solutions:
-
Reduce TTL to 2-3 minutes
- Extension icon → Configure Extension → Cache Management tab
- Set Cache Duration to 2 minutes
-
Keep inactivity timeout at default (4 hours)
- Active tickets stay cached
Slow PSA API Performance
Problem: PSA API is slow, ticket lookups take 2-5 seconds.
Solutions:
-
Increase TTL to 15-30 minutes
- Extension icon → Configure Extension → Cache Management tab
- Set Cache Duration to 20 minutes
-
Increase inactivity timeout to 8-12 hours
- Extension icon → Configure Extension → Cache Management tab
- Set Inactivity Cleanup to 10 hours
Trade-off: Data might be up to 30 minutes old. Use only if API performance is genuinely a problem.
Troubleshooting
Issue: Stale Ticket Data
Symptoms:
- Ticket shows old status
- Summary or notes are outdated
- Changes made in PSA don't appear
Solutions:
- Wait for TTL to expire (e.g., 5 minutes), then re-check
- Manually clear cache: Extension icon → Configure Extension → Cache Management tab → Clear All Cache
- Reduce TTL setting to 2-3 minutes if this happens frequently
Issue: Browser Performance Degradation
Symptoms:
- Browser feels slow or laggy
- Extension takes time to open sidebar or popup
- DevTools shows large Extension Storage size
Diagnosis:
- Check cache statistics
- Extension icon → Configure Extension → Cache Management tab
- If Ticket Count > 1000 or Size > 5MB, cache is large
Solutions:
- Clear cache immediately
- Extension icon → Configure Extension → Cache Management tab → Clear All Cache
- Reduce inactivity timeout to 2 hours
- Extension icon → Configure Extension → Cache Management tab → Inactivity Cleanup
- Monitor cache size weekly and clear if it grows beyond 500-1000 entries
Issue: Cache Not Working (Always Fetching)
Symptoms:
- Every ticket lookup feels slow (API call every time)
- Cache statistics show 0 tickets cached
- Re-hovering same ticket doesn't feel instant
Check:
- TTL set too low - If TTL is 1 minute and you wait 2 minutes between views, cache always expires. Increase TTL to 5-10 minutes.
- Cache was recently cleared - Cache rebuilds naturally with usage.
- Browser storage permissions - Rare: reinstall extension if suspected.
Debugging:
- View a ticket (e.g., Ticket #12345)
- Immediately re-view the same ticket (should be instant)
- If still slow, check DevTools for cache entry
cache:ticket:12345
Issue: Cache Growing Too Large
Symptoms:
- Cache statistics show 2000+ tickets
- Storage size is 10MB+
- Performance degradation
Solutions:
- Clear cache
- Extension icon → Configure Extension → Cache Management tab → Clear All Cache
- Reduce inactivity timeout to 1-2 hours (very aggressive cleanup)
- Extension icon → Configure Extension → Cache Management tab → Inactivity Cleanup
- Weekly manual clears (set calendar reminder)
Understanding cache growth:
- 100 unique tickets/day with 4-hour timeout = ~400-800 cached tickets
- 20 tickets/day = ~80-160 cached tickets
- Adjust inactivity timeout based on your daily volume
Best Practices
✅ Use default settings (5min TTL, 4hr cleanup) unless you have a specific issue
✅ Monitor cache statistics monthly (Extension icon → Configure Extension → Cache Management tab)
✅ Adjust TTL based on ticket change frequency (support desk = 2min, stable environment = 15min)
✅ Lower inactivity timeout for high-volume environments (2 hours if 50+ tickets/day)
✅ Clear cache when troubleshooting stale data
✅ Balance freshness vs. API load (shorter TTL = fresher data but more API calls)
❌ Don't set TTL below 1 minute (UI enforces minimum)
❌ Don't obsess over cache size unless performance suffers (hundreds of entries is normal)
❌ Don't clear cache daily "for maintenance" (let inactivity cleanup do its job)
Advanced Topics
Cache Storage Limits
Chrome Extension Storage Limits:
- chrome.storage.local: 10MB total (5MB on some browsers)
Practical limits:
- Average ticket entry: ~5-15KB
- 10MB = approximately 700-2000 cached tickets
- Most users stay under 1MB (50-200 tickets)
If you hit storage limits, the extension fails to cache new tickets. Symptoms: performance degrades, errors in console. Solution: clear cache immediately and reduce inactivity timeout.
Cache vs. Recently Viewed
These features are separate but connected:
| Feature | Purpose | Storage Location | Cleanup |
|---|---|---|---|
| Cache | Store full ticket data for quick lookups | cache:ticket:{id} | TTL + inactivity timeout |
| Recently Viewed | Track which tickets you've accessed | recentlyViewedTickets array | When corresponding cache entry is pruned |
Relationship:
- Clicking a ticket adds it to both cache and recently viewed
- Recently viewed is synced when cache is pruned (orphaned IDs removed)
- Clearing cache also clears recently viewed
Settings control:
- Recently Viewed Storage Limit: Max tickets in history (default: 20)
- Recently Viewed Display Limit: Max shown in popup (default: 5)
- Found in Extension icon → Configure Extension → View Settings tab (separate from cache settings)
Quick Reference
| Scenario | TTL | Inactivity Timeout |
|---|---|---|
| Default | 5 min | 4 hours |
| Support desk | 2 min | 4 hours |
| Large environment (1000+ tickets/day) | 10 min | 2 hours |
| Slow PSA API | 20 min | 10 hours |
| Stable tickets | 30 min | 8 hours |
| Performance issues | 5 min | 1 hour |
| Troubleshooting stale data | 2 min | 4 hours |
Key Takeaways
✅ Cache improves performance by reducing API calls (most lookups should feel instant)
✅ Two timers control cache lifecycle (TTL for freshness, inactivity timeout for cleanup)
✅ Default settings work for most users (only adjust for specific performance or freshness needs)
✅ Large environments need tuning (lower inactivity timeout to prevent cache bloat)
✅ Slow APIs benefit from longer TTL (cache more aggressively to avoid slow API waits)
✅ Cache data is stored in Extension Local Storage (viewable in DevTools)
✅ Manual clearing is a troubleshooting tool (use when data is stale or testing configuration)
Proper cache configuration delivers instant ticket lookups without overwhelming your PSA API. Most users never touch these settings, but when you need performance tuning, this guide has you covered.