Real-time Fógraí le Laravel agus Redis

Real-time is gné choitianta iad fógraí in feidhmchláir ghréasáin chun foláirimh agus nuashonruithe láithreacha a sholáthar d’úsáideoirí gan gá an leathanach a athnuachan. In Laravel, is féidir leat a chomhtháthú go héasca Redis chun real-time fógraí a chur i bhfeidhm go héifeachtach. Redis a úsáid mar scuaine chun fógraí a sheachadadh ón bhfreastalaí chuig an gcliant láithreach.

Suiteáil Redis agus Laravel

Chun tús a chur leis, suiteáil Redis ar do fhreastalaí agus suiteáil an predis/predis pacáiste in Laravel via Composer.

composer require predis/predis

Real-time Fógraí a Chomhtháthú

Cumraigh scuaine i Laravel

Ar dtús, cumraigh an scuaine isteach Laravel tríd an Redis fhaisnéis a chur leis an .env gcomhad.

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

Cruthaigh an Event

Cruthaigh teachtaireacht event isteach Laravel chun real-time fógraí a sheoladh.

php artisan make:event NewNotificationEvent

Ansin, oscail an app/Events/NewNotificationEvent.php comhad agus shaincheapadh an event t-ábhar.

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');  
    }  
}  

Cumraigh Broadcast Driver

Oscail an config/broadcasting.php comhad agus bain úsáid as an redis tiománaí chun real-time fógraí a chur i bhfeidhm le Redis.

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

Seol Real-time Fógra

Nuair is gá duit fógra a sheoladh real-time, bain úsáid as an gceann event a chruthaigh tú díreach i rialtóir nó soláthraí seirbhíse.

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

Déileáil le Real-time Fógra ar an gCliant

Ar deireadh, láimhseáil an real-time fógra ar an gcliant ag baint úsáide as JavaScript agus Laravel Echo. Cinntigh go bhfuil Laravel Echo suiteáilte agus cumraithe agat do d’fheidhmchlár.

// 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);  
});  

 

Conclúid

Comhtháthú Redis agus Laravel ligeann duit real-time fógraí a imscaradh go héasca i d'fheidhmchlár gréasáin. Nuair a bheidh fógra nua ann, seolfaidh an feidhmchlár trí Redis, agus gheobhaidh an cliant an fógra láithreach gan gá an leathanach a athnuachan. Feabhsaíonn sé seo eispéireas an úsáideora agus feabhsaíonn sé idirghníomhaíocht an fheidhmchláir.