# Status cache & Redis — Listara

**Ultima verificare:** 2026-05-18

## Rezumat

| Mediu | Cache app (layout/homepage) | Driver | Redis | Deploy post-cache |
|-------|----------------------------|--------|-------|-------------------|
| **Local** | Implementat | `auto` → redis dacă ext. PHP `redis` | Fallback `file` pe XAMPP fără phpredis | `cache:warm` la cerere |
| **Producție** (192.166.82.76) | Implementat | `file` (sau `auto` după setup) | Neinstalat — rulează `setup-redis.sh` | Da (`./deploy.sh`) |

**Scheduler:** `cache:warm` rulează orar (cron: `php artisan schedule:run`).

## Implementare în cod (completă)

- `App\Services\Cache\LayoutViewCache` — cache view composer global (TTL 5 min)
- `App\Services\Cache\HomepageCache` — SEO, conținut, subcategorii, ads, etc.
- `App\Providers\CacheInvalidationServiceProvider` — invalidare la salvare admin
- `php artisan cache:warm` — preîncălzește ro + en
- `php artisan cache:diagnostics` — verificare HIT/MISS
- Deploy Linux: `optimize:clear` → `config/route/view:cache` → `cache:warm` (ca `www-data`)

## Comenzi rapide

```bash
# Local
php artisan cache:diagnostics
php artisan cache:warm
./scripts/fix-local-storage-permissions.sh   # dacă Permission denied la views

# Producție (din proiect)
DEPLOY_CONFIG=deploy/deploy.conf.listara ./deploy.sh cache

# Redis pe producție (opțional, pe server)
bash /opt/apps/main-updater/deploy/linux/setup-redis.sh
```

## Producție — activare Redis (opțional)

Când traficul crește, pe server:

```bash
bash /opt/apps/main-updater/deploy/linux/setup-redis.sh
```

Sau manual: vezi `docs/PRODUCTION-CACHE-REDIS.md`.

## Fișiere relevante

- `config/cache_optimization.php` — TTL-uri
- `.env.example` — variabile CACHE_*, REDIS_*
- `deploy/lib/remote-tasks-linux.sh` — pipeline post-deploy
- `deploy/linux/post-deploy.sh` — permisiuni www-data (fără optimize:clear duplicat)
- `docs/CACHE-REDIS-AUDIT.md` — audit tehnic detaliat
