Real-time Laravel 및 로 알림 Redis

Real-time 알림은 페이지를 새로 고칠 필요 없이 사용자에게 즉각적인 경고 및 업데이트를 제공하는 웹 애플리케이션의 일반적인 기능입니다. 에서 알림을 효율적으로 구현하기 위해 Laravel 쉽게 통합할 수 있습니다. 서버에서 클라이언트로 알림을 즉시 전달하기 위한 대기열로 사용됩니다. Redis real-time Redis

설치 Redis 및 Laravel

시작하려면 Redis 서버에 설치하고 Composer를 통해 predis/predis 패키지를 설치하십시오 Laravel.

composer require predis/predis

Real-time 알림 통합

대기열 구성 Laravel

먼저 파일 에 정보를 Laravel 추가하여 대기열을 구성합니다. Redis .env

QUEUE_CONNECTION=redis  
REDIS_HOST=127.0.0.1  
REDIS_PASSWORD=null  
REDIS_PORT=6379  

만들기 Event

알림을 보내려면 event in을 만드세요. Laravel real-time

php artisan make:event NewNotificationEvent

그런 다음 app/Events/NewNotificationEvent.php 파일을 열고 콘텐츠를 사용자 지정합니다 event.

use Illuminate\Broadcasting\Channel;  
use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;  
use Illuminate\Queue\SerializesModels;  
  
class NewNotificationEvent implements ShouldBroadcastNow  
{  
    use SerializesModels;  
  
    public $message;  
  
    public function __construct($message)  
    {  
        $this->message = $message;  
    }  
  
    public function broadcastOn()  
    {  
        return new Channel('notifications');  
    }  
}  

구성 Broadcast Driver

파일을 열고 드라이버를 사용 config/broadcasting.php 하여. redis real-time Redis

'connections' => [  
    'redis' => [  
        'driver' => 'redis',  
        'connection' => 'default',  
    ],  
    // ...  
],  

Real-time 알림 보내기

알림 을 보내야 하는 경우 컨트롤러 또는 서비스 공급자에서 방금 만든 real-time 것을 사용하십시오. event

use App\Events\NewNotificationEvent;  
  
public function sendNotification()  
{  
    $message = 'You have a new notification!';  
    event(new NewNotificationEvent($message));  
}  

Real-time 클라이언트에서 알림 처리

마지막으로 real-time JavaScript 및 Echo를 사용하여 클라이언트에서 알림을 처리합니다 Laravel. Laravel 애플리케이션에 대해 Echo를 설치하고 구성했는지 확인하십시오 .

// Connect to the 'notifications' channel  
const channel = Echo.channel('notifications');  
  
// Handle the event when receiving a real-time notification  
channel.listen('.NewNotificationEvent',(notification) => {  
    alert(notification.message);  
});  

 

결론

통합 Redis 하고 웹 애플리케이션에서 알림을 Laravel 쉽게 배포할 수 있습니다. real-time 새 알림이 있으면 애플리케이션이 이를 통해 전송 Redis 하고 클라이언트는 페이지를 새로 고칠 필요 없이 즉시 알림을 받습니다. 이를 통해 사용자 경험이 향상되고 애플리케이션의 상호 작용이 향상됩니다.