Redis Configuration
Basic Redis Setup
.env
Redis server hostname or IP address.
Redis server port.
Redis authentication password. Use
null for no authentication.Redis client library. Options:
predis- Pure PHP implementation (default)phpredis- PHP extension (faster, requires installation)
Advanced Redis Configuration
.env
Connection scheme. Options:
tcp, unixPath to Unix socket when using
REDIS_SCHEME=unix. Provides better performance for local Redis.Redis username for ACL authentication (Redis 6.0+).
Redis database number for general cache and queue data.
Redis database number for session storage (when using Redis sessions).
Redis Clustering
.env
Redis cluster mode. Options:
redis, predisPrefix for all Redis keys. Automatically generated from
APP_NAME if not set.Redis SSL/TLS
For secure Redis connections:.env
SSL configuration only works with the
phpredis client.Cache Configuration
Cache Driver Selection
.env
Cache storage driver. Options:
redis- Redis (recommended)file- Filesystem storagedatabase- Database storagememcached- Memcachedarray- In-memory (testing only)
Prefix for cache keys. Auto-generated from
APP_NAME if not set.File Cache
For development or small deployments:.env
storage/framework/cache/data/.
Database Cache
Store cache in the database:.env
Database caching is slower than Redis but doesn’t require additional services.
Memcached Configuration
.env
Redis Cache Connection
.env
Redis connection to use for caching.
Redis connection to use for cache locks.
Queue Configuration
Queue Driver Selection
.env
Queue backend driver. Options:
redis- Redis (recommended)database- Database storagesync- Synchronous (no queuing, development only)beanstalkd- Beanstalkd queuesqs- Amazon SQS
Redis Queue Configuration
.env
Redis connection to use for queues.
Default queue name.
Seconds after which a job is retried if a worker dies.
Database Queue Configuration
.env
Database queues require the
jobs and failed_jobs tables. Run migrations to create them.Failed Jobs Configuration
.env
Storage for failed jobs. Options:
database-uuids- Database with UUID identifiersfile- Filesystem storagenull- Discard failed jobs
Session Storage
Session Driver Selection
.env
Session storage driver. Options:
redis- Redis (recommended)database- Database storagefile- Filesystem storagecookie- Browser cookies
Session lifetime in minutes (12 hours by default).
Redis Session Configuration
.env
sessions connection, which points to REDIS_DATABASE_SESSIONS.
Database Session Configuration
.env
Queue Worker Setup
Running Queue Workers
Queue workers process background jobs. Run them with:Supervisor Configuration
Use Supervisor to keep queue workers running:/etc/supervisor/conf.d/pterodactyl-worker.conf
Systemd Service
Alternatively, use systemd:/etc/systemd/system/pterodactyl-worker.service
Worker Commands
Installing Redis
Securing Redis
Edit/etc/redis/redis.conf:
/etc/redis/redis.conf
Installing PHPRedis Extension
For better performance, install the phpredis extension:.env:
.env
Clearing Cache
Performance Optimization
Cache Configuration
In production, cache configuration files:Multiple Queue Workers
Run multiple workers for better throughput:Troubleshooting
Redis Connection Refused
Redis Connection Refused
Solutions:
Queue Jobs Not Processing
Queue Jobs Not Processing
Possible causes:
- Queue workers not running
- Worker died/crashed
- Queue connection misconfigured
Session Data Lost
Session Data Lost
Possible causes:
- Redis not running
- Session lifetime too short
- Different Redis database
Cache Not Working
Cache Not Working
Solutions:
Monitoring
Redis Monitoring
Queue Monitoring
Best Practices
Use Redis
Redis provides the best performance for cache, queues, and sessions.
Run Queue Workers
Always run queue workers in production for background job processing.
Monitor Workers
Use Supervisor or systemd to keep queue workers running and auto-restart on failure.
Secure Redis
Always set a password and bind to localhost when possible.
