docs/developer/deployment/caching.mdx
Caching improves performance by storing the results of expensive computations. Spree's headless API caches sparingly — small memoized values (geo data, settings, taxonomy lookups) and the API's rate-limit counters — so the default store needs no dedicated service.
Production uses Solid Cache — the built-in cache store: the cache lives in your PostgreSQL database alongside everything else. There is nothing to configure, provision, or monitor — it works out of the box in every deployment.
For high-traffic installs that want an in-memory cache, the swap is one line in config/environments/production.rb plus the gem:
# Gemfile
gem "redis"
# config/environments/production.rb
config.cache_store = :redis_cache_store, { url: ENV["REDIS_URL"] }
Works identically with Redis or Valkey (the Linux Foundation fork most hosting platforms now provision).
To enable caching in the development environment:
<CodeGroup>spree rails dev:cache
bin/rails dev:cache
You will need to restart your web server after this.