Instalar y configurar Redis en Laragon y en MacOS con Laravel Herd
En esta entrada veremos como instalar Redis para desarrollar en Laravel, ya sea que quieras emplearlo para el sistema de caches, para el sistema de colas y trabajos, etc.
MacOS con Dbngin y Laravel herd
Si estás usando Laravel Dbngin en MacOS junto con Laravel Herd, puedes crear una base de datos preservando la configuración por defecto:
Laragon en Windows
Si empleas Laragon hay que configurar una DLL según la versión que estés empleando; más información en el foro oficial de Laragon:
https://dev.to/dendihandian/installing-php-redis-extension-on-laragon-2mp3
Debes de descargar la DLL en Windows según la versión que tengas ejecutando, NTS o TS y tu versión de PHP, en mi caso es NTS:
Descargas la DLL desde:
https://pecl.php.net/package/redis
Luego copias la DLL en la versión de PHP que estés ejecutando en Laragon; por ejemplo:
C:\laragon\bin\php\php-8.XX-nts-Win32-vs16-x64\ext
Y activas la extensión:
En Laragon, ya viene instalado por defecto Redis, anteriormente configuramos la DLL o conector a la base de datos para ejecutar la base de datos de Redis:
C:\laragon\bin\redis\redis-x6XX\redis-server.exe
Y verás una ventana como la siguiente:
Que indica que Redis se está ejecutando y está lista para emplear; de igual forma, puedes probar el estado de redis ejecutando:
$ redis-cli
Si ver un mensaje como el siguiente:
Could not connect to Redis at 127.0.0.1:6379: No se puede establecer una conexi¾n ya que el equipo de destino deneg¾ expresamente dicha conexi¾n.
not connected>
Significa que tienes problemas con la ejecución del motor de base de datos.
También puedes ejecutar:
$ redis-cli
$ 127.0.0.1:6379> ping
Y debes de ver como salida:
PONG
En Linux:
$ sudo apt-get install redis php8.3-redis
$ sudo systemctl restart php8.3-fpm.service
Configuraciones adicionales
Puede que sea necesario instalar el paquete de Predis a tu proyecto Laravel mediante Composer:
$ composer require predis/predis
El cual es el cliente o conector para que pueda emplear Redis en Laravel, para emplear Redis para la base de datos, no debería ser necesario, así que solamente instalarlo en caso de que sea necesario.
En caso de que quieras cambiar algun parametro d configuracion de redis, puedes especificarlo de la siguiente manera:
.env
REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
Indicas las opciones de conexion a Redis (al igual que con cualquier otra base de datos):
config/database.php
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD'),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DB', 0),
],
'cache' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD'),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_CACHE_DB', 1),
],
];
config\cache.php
'redis' => [
'driver' => 'redis',
'connection' => env('REDIS_CACHE_CONNECTION', 'cache'),
'lock_connection' => env('REDIS_CACHE_LOCK_CONNECTION', 'default'),
],
Finalmente, configuramos el conector para que sea Redis ya sea en el .env:
.env
CACHE_STORE=redis
Y/o archivo de configuración:
config\cache.php
'default' => env('CACHE_STORE', 'redis')
Y eso sería todo, al cambiar de sistema de caché, es independiente a la implementación que vayamos a realizar.
- Andrés Cruz
Este material forma parte de mi curso y libro completo; puedes adquirirlos desde el apartado de libros y/o cursos Curso y Libro Laravel 11 con Tailwind Vue 3, introducción a Jetstream Livewire e Inerta desde cero - 2024.
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter