AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Caching Strategies

skill-thibautbaissac-rails-ai-agents-caching-strategies · by ThibautBaissac

>-

No reviews yet
0 installs
24 views
0.0% view→install

Install

$ agentstack add skill-thibautbaissac-rails-ai-agents-caching-strategies

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-thibautbaissac-rails-ai-agents-caching-strategies)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Caching Strategies? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Caching Strategies for Rails 8

Overview

Rails provides multiple caching layers:

  • Fragment caching: Cache view partials
  • Russian doll caching: Nested cache fragments
  • Low-level caching: Cache arbitrary data
  • HTTP caching: Browser and CDN caching
  • Query caching: Automatic within requests

Quick Start

# config/environments/development.rb
config.action_controller.perform_caching = true
config.cache_store = :memory_store

# config/environments/production.rb
config.cache_store = :solid_cache_store  # Rails 8 default
# OR
config.cache_store = :redis_cache_store, { url: ENV["REDIS_URL"] }

Enable caching in development:

bin/rails dev:cache

Cache Store Options

| Store | Use Case | Pros | Cons | |-------|----------|------|------| | :memory_store | Development | Fast, no setup | Not shared, limited size | | :solid_cache_store | Production (Rails 8) | Database-backed, no Redis | Slightly slower | | :redis_cache_store | Production | Fast, shared | Requires Redis | | :file_store | Simple production | Persistent, no Redis | Slow, not shared | | :null_store | Testing | No caching | N/A |

Fragment Caching

Basic Fragment Cache


  
    
    
    
    
  

Cache Key Components

Rails generates cache keys from:

  • Model name
  • Model ID
  • updated_at timestamp
  • Template digest (automatic)
# Generated key example:
# views/events/123-20240115120000000000/abc123digest

Custom Cache Keys


  ...

  ...

  

Russian Doll Caching

Nested caches where inner caches are reused when outer cache is invalidated:


  

  
    
      
        
      
    
  

  
    
      
        
      
    
  

Use touch: true on belongs_to associations to cascade invalidation up the chain. See [cache-invalidation.md](references/cache-invalidation.md) for examples.

Collection Caching

Efficient Collection Rendering


(event) { [event, current_user.admin?] } %>

Low-Level Caching

Use Rails.cache.fetch with a block for the most common pattern. See [low-level-caching.md](references/low-level-caching.md) for:

  • Basic read/write/fetch examples
  • Caching in service objects
  • Caching in query objects
  • Instance variable memoization
  • Request-scoped memoization with CurrentAttributes

Cache Invalidation

Three strategies: time-based expiration, key-based expiration (using updated_at), and manual deletion. See [cache-invalidation.md](references/cache-invalidation.md) for:

  • Time-based and key-based expiration
  • Manual invalidation in model callbacks and services
  • Pattern-based deletion (delete_matched)
  • touch: true for Russian doll cascade
  • Built-in and custom counter caches

HTTP Caching

Use stale? for conditional GET (ETags/Last-Modified) and expires_in for Cache-Control headers. See [http-caching-and-testing.md](references/http-caching-and-testing.md) for full examples.

Testing Caching

Use a :caching metadata tag to enable caching in specs. See [http-caching-and-testing.md](references/http-caching-and-testing.md) for:

  • rails_helper.rb configuration
  • Testing cached view invalidation
  • Testing cache invalidation in services
  • Performance monitoring and instrumentation

Checklist

  • [ ] Cache store configured for environment
  • [ ] Fragment caching on expensive partials
  • [ ] touch: true on belongs_to for Russian doll
  • [ ] Collection caching with cached: true
  • [ ] Low-level caching for expensive queries
  • [ ] Cache invalidation strategy defined
  • [ ] Counter caches for counts
  • [ ] HTTP caching headers for API
  • [ ] Cache warming for cold starts (if needed)
  • [ ] Monitoring for hit/miss rates

References

  • [low-level-caching.md](references/low-level-caching.md) - fetch/read/write, service objects, query objects, memoization
  • [cache-invalidation.md](references/cache-invalidation.md) - expiration strategies, manual invalidation, touch, counter caches
  • [http-caching-and-testing.md](references/http-caching-and-testing.md) - ETags, Cache-Control, spec configuration, monitoring

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.