Redis Cache Einrichten Anleitung
Redis Cache einrichten
Redis ist ein ultraschneller In-Memory-Datenspeicher, der als Cache, Session-Store und Message-Broker eingesetzt wird. Mit Redis können Sie Datenbankabfragen und PHP-Sessions drastisch beschleunigen.
Was kann Redis?
- Object Cache: Datenbank-Ergebnisse zwischenspeichern
- Session Storage: PHP-Sessions im RAM statt auf Disk
- Page Cache: Ganze Seiten cachen
- Queue System: Background Jobs verarbeiten
- Pub/Sub: Echtzeit-Messaging
Redis installieren
# Ubuntu/Debian
sudo apt update
sudo apt install redis-server -y
# Status prüfen
sudo systemctl status redis-server
# Autostart aktivieren
sudo systemctl enable redis-server
Installation testen
# Redis-CLI öffnen
redis-cli
# Ping-Pong Test
127.0.0.1:6379> PING
PONG
# Wert setzen und lesen
127.0.0.1:6379> SET test "Hello Redis"
OK
127.0.0.1:6379> GET test
"Hello Redis"
127.0.0.1:6379> EXIT
Redis konfigurieren
sudo nano /etc/redis/redis.conf
Wichtige Einstellungen
# Nur lokal erreichbar (Sicherheit!)
bind 127.0.0.1 ::1
# Port (Standard: 6379)
port 6379
# Passwort setzen (empfohlen)
requirepass IhrSicheresPasswort123!
# Maximaler Speicher
maxmemory 256mb
# Was tun bei vollem Speicher?
maxmemory-policy allkeys-lru
# Persistenz (optional)
save 900 1 # Nach 900 Sek. wenn 1 Key geändert
save 300 10 # Nach 300 Sek. wenn 10 Keys geändert
save 60 10000 # Nach 60 Sek. wenn 10000 Keys geändert
# Oder Persistenz deaktivieren (nur Cache)
# save ""
sudo systemctl restart redis-server
Mit Passwort verbinden
redis-cli -a IhrSicheresPasswort123!
# Oder
redis-cli
127.0.0.1:6379> AUTH IhrSicheresPasswort123!
PHP Redis Extension
# PHP Redis Extension installieren
sudo apt install php-redis -y
# PHP-FPM neu starten
sudo systemctl restart php8.3-fpm
# Oder Apache
sudo systemctl restart apache2
PHP-Verbindung testen
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->auth('IhrSicheresPasswort123!');
$redis->set('test_key', 'Hello from PHP!');
echo $redis->get('test_key');
?>
Redis für PHP-Sessions
sudo nano /etc/php/8.3/fpm/php.ini
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379?auth=IhrSicheresPasswort123!"
sudo systemctl restart php8.3-fpm
WordPress mit Redis
1. Redis Object Cache Plugin installieren
Installieren Sie "Redis Object Cache" von Till Krüss.
2. wp-config.php konfigurieren
// Redis-Konfiguration (vor "That's all, stop editing!")
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_PASSWORD', 'IhrSicheresPasswort123!');
define('WP_REDIS_DATABASE', 0);
define('WP_REDIS_PREFIX', 'wp_');
// Optional: Timeouts
define('WP_REDIS_TIMEOUT', 1);
define('WP_REDIS_READ_TIMEOUT', 1);
3. Object Cache aktivieren
WordPress Admin → Einstellungen → Redis → "Enable Object Cache"
Laravel mit Redis
# .env
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=IhrSicheresPasswort123!
REDIS_PORT=6379
Nützliche Redis-Befehle
# Alle Keys anzeigen (Vorsicht in Produktion!)
redis-cli KEYS "*"
# Keys mit Muster
redis-cli KEYS "wp_*"
# Key löschen
redis-cli DEL key_name
# Alle Keys löschen (Vorsicht!)
redis-cli FLUSHALL
# Nur aktuelle DB leeren
redis-cli FLUSHDB
# Info und Statistiken
redis-cli INFO
# Speichernutzung
redis-cli INFO memory
# Verbundene Clients
redis-cli CLIENT LIST
# Langsame Befehle
redis-cli SLOWLOG GET 10
Redis überwachen
# Live-Monitoring aller Befehle
redis-cli MONITOR
# Statistiken
redis-cli INFO stats
# Speicheranalyse
redis-cli --bigkeys
Sicherheit
- Nur localhost:
bind 127.0.0.1 - Passwort setzen:
requirepass - Firewall: Port 6379 nicht öffentlich
- Rename Commands: Gefährliche Befehle umbenennen
# Gefährliche Befehle deaktivieren
rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command CONFIG ""
rename-command SHUTDOWN ""
Troubleshooting
| Problem | Lösung |
|---|---|
| Connection refused | Redis läuft? systemctl status redis |
| NOAUTH | Passwort in Config prüfen |
| OOM (Out of Memory) | maxmemory erhöhen oder Policy anpassen |
Weitere Hilfe
- 📖 Redis Dokumentation
- 📧 E-Mail: support@enjyn.de