Redis in Shopware 6: Complete Configuration Guide for Faster eCommerce
If your Shopware 6 store is hitting database bottlenecks under traffic, Redis is the fix. Not a partial fix a foundational one. This guide skips the basics and goes straight to what actually matters: configuring Redis correctly, separating data by type, and avoiding the common mistakes that kill performance in production.
Why Redis Over Shopware’s Default Cache?
Shopware 6 ships with a file-based cache by default. It works fine at low traffic. The moment you push product catalog renders, session loads, and cart operations simultaneously, file-based I/O becomes your bottleneck.
Redis stores everything in memory, which is why it plays a critical role in modern Shopware 6 performance optimization. A cache read that typically takes 20 to 80 milliseconds from disk drops to under 1 millisecond when served through Redis. For a busy store, this difference compounds across every request, directly improving page load speed, checkout responsiveness, and overall user experience.
For any Shopware Development Company or Shopware Development Agency, this directly improves performance during high traffic, promotions, and B2B complexity.
Redis also gives control over caching. With proper Shopware Development Services and Shopware Development Solutions, you can decide what gets stored, how long it stays, and how memory is managed.
That is why many Shopware 6 developers use Redis instead of the default file cache, because it offers better control and handles growth more reliably.
The Part Most Guides Miss: Data Type Separation
Most Redis tutorials for Shopware treat all data the same. That’s wrong, and it will eventually cause real problems.
Shopware stores 3 fundamentally different types of data in Redis, and each needs different handling:
1) Ephemeral cache (HTTP cache, object cache)
This data is fast to recreate. If Redis evicts it, no harm done. Set your eviction policy to volatile-lru and don’t lose sleep over it.
2) Session data
This includes user logins, carts in progress, and checkout sessions.
If this data disappears, users drop off and sales are lost.
3) Critical data — carts, lock stores, number ranges
- Data that must not be lost (e.g., carts, lock stores, incremental data).
- Persistence is required; data should never be deleted unless expired.
- Recommended Eviction Policy: volatile-lru (only removes expired data).
How to Integrate Redis in Shopware 6 Step by Step Guide
Step 1: Install Redis on Your Server
Ensure Redis is installed on your Shopware server. If not, install it using:
sudo apt update
sudo apt install redis-server
sudo systemctl start redis
sudo systemctl enable redis
##Verify:
redis-cli ping
<--Expected output--->
PONG
Step 2: Configure Redis in Shopware 6
Ensure Redis is installed on your Shopware server. If not, install it using:
Edit the .env file to enable Redis for caching:
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
SHOPWARE_HTTP_CACHE_ENABLED=1
SHOPWARE_HTTP_DEFAULT_TTL=7200
Step 3: Enable Redis for Caching
Ensure Redis is installed on your Shopware server. If not, install it using:
Modify config/packages/shopware.yaml to set Redis as the cache handler:
shopware:
cache:
enabled: true
type: redis
redis:
host: 'redis://127.0.0.1:6379'
Step 4: Use Redis for Session Storage (Optional)
To store user sessions in Redis, update .env:
SHOPWARE_SESSION_STORAGE="redis"
This improves session management and speeds up user logins.
Step 5: Use Separate Redis Instances for Different Data Types
Starting from Shopware v6.6.8.0, multiple Redis connections can be configured to optimize different workloads.
Edit config/packages/shopware.yaml:
yaml
CopyEdit
shopware:
redis:
connections:
cache:
dsn: 'redis://127.0.0.1:6379/0' # Ephemeral cache
session:
dsn: 'redis://127.0.0.1:6379/1' # User session data
critical:
dsn: 'redis://127.0.0.1:637
Step 6: Use Connection Pooling for High Traffic
To reduce the overhead of establishing new connections for each request, enable persistent connections:
yaml
CopyEdit
shopware:
redis:
connections:
cache:
dsn: 'redis://127.0.0.1:6379/0' # Ephemeral cache
session:
dsn: 'redis://127.0.0.1:6379/1' # User session data
critical:
dsn: 'redis://127.0.0.1:637
Step 7: Clear and Warm Up Cache
After configuring Redis, refresh the cache using:
bash
bin/console cache:clear
bin/console cache:warmup
redis-cli monitor
##Check if Redis is being used:
bash
redis-cli monitor
Step 8: Restart Services
Restart both Shopware and Redis:
sudo systemctl restart redis-server
php bin/console cache:clear
Verifying Redis Integration
To confirm Redis is caching data, run:
redis-cli --scan --pattern "*"
Common Mistakes to Avoid while adding Redis into Shopware 6
Single Redis instance for everything fine for development, dangerous in production. Session data sitting next to volatile cache means it can be evicted under memory pressure.
Wrong eviction policy — Using noeviction on a cache instance will cause Redis to reject writes when memory is full, breaking your storefront. Use the correct policy for each data type as outlined above.
No persistence on session/cart instances — An unplanned Redis restart without AOF or RDB snapshots wipes sessions and carts. Set this up before go-live, not after.
Ignoring memory limits — Set maxmemory explicitly in your Redis config. Without it, Redis will consume all available RAM before eviction kicks in.
What About Shopware Message Queue + Redis?
Single Redis instance for everything fine for development, dangerous in production. Session data sitting next to volatile cache means it can be evicted under memory pressure.
Redis can serve as the queue transport backend, offloading this entirely from MySQL. Configure it in config/packages/messenger.yaml:
framework:
messenger:
transports:
async:
dsn: 'redis://127.0.0.1:6379/3'
Are You Looking to Hire a Shopware 6 Developer?
Your Shopware store should be fast, scalable, and reliable. Let experts audit your setup and show you exactly where you're losing performance.
Why Choose iCreative Technologies as Your Shopware 6 Development Service Partner?
iCreativeTechnologies has a team of certified Shopware 6 developers based in the USA and India, working across time zones so your projects move without delays. Whether you need a dedicated developer for a long-term engagement, a Shopware development partner to build from scratch, or an expert to audit and fix an existing store, the team is equipped to handle it.
What Makes iCreative Technologies a Trusted Shopware 6 Agency?
- 10+ years of hands-on Shopware real-world development expertise
- Deep expertise in Shopware support, extensions, apps, and theme customization
- High-quality work with reasonable Shopware development cost
- End-to-end Shopware development expertise
- Official Shopware partner agency
- 24×7 Shopware support for your website
FAQs – Shopware 6 Redis
Redis is used as an in-memory caching layer to reduce database queries and speed up store performance. In Shopware 6, it handles cache, sessions, and critical runtime data to improve load times and scalability.
Yes, Shopware 6 has built-in support for Redis as a cache and session backend. It can be configured via .env and shopware.yaml without third-party plugins.
A properly configured Redis setup can reduce database load by 30–70% and significantly improve page speed, especially for product listings, cart operations, and checkout processes.
Redis should store:
- Cache (temporary data)
- User sessions
- Cart and transactional data
Each type should be isolated to avoid performance conflicts.
Basic setup is simple, but production-grade optimization requires expertise. A professional Shopware Development Company or Shopware Development Agency ensures Redis is correctly integrated with your full performance architecture.