Redis Object Cache - przyspieszenie WordPress
Redis to in-memory cache który drastycznie przyspiesza zapytania do bazy danych WordPress. Zamiast odpytywać MySQL za każdym razem, WordPress pobiera dane z pamięci RAM. Szczególnie skuteczny dla WooCommerce i dużych stron.
Krótka odpowiedź
Co to jest Object Cache
Object Cache w WordPress:
- Cache zapytań do bazy danych
- Domyślnie: tylko w pamięci per request
- Persistent: Redis lub Memcached
Bez persistent cache:
- Każdy request = nowe zapytania SQL
- Te same dane pobierane wielokrotnie
- Wolne przy dużym ruchu
Z Redis:
- Pierwsze request → SQL → cache w Redis
- Kolejne requesty → Redis (mikrosekundy)
- Dramatyczne przyspieszenie
Kiedy Redis pomaga:
- WooCommerce (dużo zapytań)
- Duży ruch (100+ users jednocześnie)
- Multisite
- Strony z dużą ilością danych
Instalacja Redis na serwerze
Ubuntu/Debian:
```bash
sudo apt update
sudo apt install redis-server
sudo systemctl enable redis-server
sudo systemctl start redis-server
```
Sprawdzenie:
```bash
redis-cli ping
# Odpowiedź: PONG
```
CloudPanel:
- Redis preinstalowany
- Włącz per-site w ustawieniach
Cloudways:
- Application → Redis
- Enable Redis
Shared hosting:
- Zwykle niedostępny
- Wymaga VPS lub managed WordPress hosting
Wtyczka Redis Object Cache
Instalacja:
1. Wtyczki → Redis Object Cache
2. Aktywuj
3. Settings → Redis
4. Kliknij "Enable Object Cache"
Konfiguracja wp-config.php (opcjonalna):
```php
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_DATABASE', 0);
define('WP_REDIS_PREFIX', 'wp_');
```
Dla wielu stron (multisite/multisite):
```php
define('WP_REDIS_PREFIX', 'site1_'); // unikalne per site
```
Sprawdzenie działania:
- Settings → Redis → Status
- Powinno być "Connected"
- Cache hit ratio > 90% to dobrze
Optymalizacja i monitoring
Redis CLI monitoring:
```bash
redis-cli monitor # live log
redis-cli info stats # statystyki
redis-cli dbsize # ilość kluczy
```
Flush cache:
```bash
redis-cli flushall # wszystko
wp cache flush # przez WP-CLI
```
Memory limit:
- /etc/redis/redis.conf:
```
maxmemory 256mb
maxmemory-policy allkeys-lru
```
Persistence:
- Redis domyślnie zapisuje na dysk
- Dla cache można wyłączyć (szybsze):
```
save ""
appendonly no
```
Query Monitor:
- Wtyczka Query Monitor
- Tab "Object Cache"
- Zobacz cache hits/misses