Real-time Laravel र सँग सूचनाहरू Redis

Real-time सूचनाहरू पृष्ठ रिफ्रेस गर्न आवश्यकता बिना प्रयोगकर्ताहरूलाई तत्काल अलर्ट र अद्यावधिकहरू प्रदान गर्न वेब अनुप्रयोगहरूमा एक सामान्य सुविधा हो। मा Laravel, तपाईं सजिलै संग सूचनाहरू कुशलतापूर्वक Redis लागू गर्न एकीकृत गर्न सक्नुहुन्छ। सर्भरबाट ग्राहकलाई तुरुन्तै सूचनाहरू डेलिभर गर्न लामको रूपमा प्रयोग गरिनेछ। real-time Redis

स्थापना Redis र Laravel

सुरु गर्नको लागि, Redis आफ्नो सर्भरमा स्थापना गर्नुहोस् र कम्पोजर मार्फत 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 इन सिर्जना गर्नुहोस्। 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 प्रयोग गरेर क्लाइन्टमा सूचना ह्यान्डल गर्नुहोस्। Laravel सुनिश्चित गर्नुहोस् कि तपाईंले Laravel आफ्नो अनुप्रयोगको लागि इको स्थापना र कन्फिगर गर्नुभएको छ।

// 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, र ग्राहकले पृष्ठलाई रिफ्रेस नगरीकन तुरुन्तै सूचना प्राप्त गर्नेछ। यसले प्रयोगकर्ता अनुभवलाई सुधार गर्छ र अनुप्रयोगको अन्तरक्रियात्मकता बढाउँछ।