Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Chcesz zaimplementować gniazda sieciowe w Laravel

Używałeś pushera, więc zakładam, że wiesz, jak używać event.

Polecam laravel-echo-server. Jest bardzo łatwy w użyciu, z wbudowanym interfejsem API.

Oto świeży przykład projektu laravel-echo od podstaw.Po skonfigurowaniu projektu.

będziesz potrzebować predis, jeśli jeszcze go nie zainstalowałeś

composer require predis/predis
redis-server /usr/local/etc/redis.conf
  1. uruchom npm install -g laravel-echo-server
  2. uruchom laravel-echo-server init
  3. odkomentuj App\Providers\BroadcastServiceProvider::class w config/app.php
  4. dodaj <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/socket.io.js"></script> w twoim app.blade.php
  5. potrzebujesz klienta socketio, możesz uruchomić npm install --save laravel-echo .Jeśli nie znasz npm lub vue, możesz po prostu dołączyć ten skompilowany plik z mojego projektu github.compiledjs
  6. dodaj to do app.blade.php

    <script>
    window.Echo = new Echo({
    broadcaster: 'socket.io',
    
    host: '{{url('/').':6001'}}',
    });
    Echo.private(`App.User.{{Auth::id()}}`) // private channel
    .listen('NewMessage', (e) => {
        console.log(e)
    
    });
    
    
    </script>
    
  7. na koniec uruchom laravel-echo-server start i otwórz swój projekt, zobaczysz

    [20:53:21] - Lv5OKDAcuSLsK1nBAAAE authenticated for: private- 
       App.User.1
    [20:53:21] - Lv5OKDAcuSLsK1nBAAAE joined channel: private-App.User.1
    
  8. możesz odsłuchać dowolne wydarzenie lub inne powiadomienia

  9. oto przykład mojego projektu github

dodaj mały kod, abyś mógł użyć listonosza wyślij wiadomość do konkretnego użytkownika. Możesz zobaczyć wiadomość z konsoli chrome. Możesz uzyskać więcej szczegółów ze zrzutów ekranu projektu na github



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis Pub/Sub z niezawodnością

  2. „sesja” jest niezdefiniowana w przypadku używania express / redis do przechowywania sesji

  3. Jak mogę uzyskać liczbę kluczy w redis?

  4. Anulować już wykonywane zadanie w Pythonie RQ?

  5. Dopasowanie skanowania Redis