O erro Error Non-static method Redis::set() cannot be called statically acontece pelo motivo de no Laravel moderno, a facade Redis
não é o mesmo que a classe do PECL Redis
. O correto é usar a facade do Laravel:
✅ Maneira correta:
use Illuminate\Support\Facades\Redis;
Redis::set('teste', 'ok');
$value = Redis::get('teste');
Ou diretamente no Tinker:
>>> \Illuminate\Support\Facades\Redis::set('teste', 'ok');
>>> \Illuminate\Support\Facades\Redis::get('teste');
Explicação:
Acontecendo Error Non-static method Redis::set() cannot be called statically, fique de olho, pois o Redis
do PECL é uma classe PHP pura e não possui métodos estáticos como set()
— você teria que instanciar:
$redis = new Redis();
$redis->connect('redis', 6379);
$redis->set('teste', 'ok');
Laravel fornece a facade Redis
, que é estática e já configurada pelo config/database.php