在两个 Laravel 应用程序之间共享事件
Sharing events between two Laravel applications
是否可以让一个 Laravel 应用程序侦听在另一个应用程序中触发的事件?
我构建了一个 REST API 来补充现有的网络应用程序。它使用相同的数据库,但我将它构建为一个单独的应用程序,并且某些事件会清除一些缓存的结果。目前事件没有在两个应用程序之间共享,所以尽管更新了数据库,我还是得到了缓存的结果。有没有办法让一个应用程序接收另一个应用程序触发的事件?我在文档中没有找到任何关于此的内容。
Redis
完全不知道哪个应用程序正在监听它。您可以将 broadcast driver
设置为 redis
并在一个应用程序中调用您的事件,同时监听另一个应用程序,只要它们都使用相同的 Redis 实例即可。然后另一个可以监听这些事件。但是,值得注意的是 Laravel
处理侦听器的方式是绑定到特定的 class。所以你仍然需要确保 class 存在,这样你就可以为它定义一个监听器。
是否可以让一个 Laravel 应用程序侦听在另一个应用程序中触发的事件?
我构建了一个 REST API 来补充现有的网络应用程序。它使用相同的数据库,但我将它构建为一个单独的应用程序,并且某些事件会清除一些缓存的结果。目前事件没有在两个应用程序之间共享,所以尽管更新了数据库,我还是得到了缓存的结果。有没有办法让一个应用程序接收另一个应用程序触发的事件?我在文档中没有找到任何关于此的内容。
Redis
完全不知道哪个应用程序正在监听它。您可以将 broadcast driver
设置为 redis
并在一个应用程序中调用您的事件,同时监听另一个应用程序,只要它们都使用相同的 Redis 实例即可。然后另一个可以监听这些事件。但是,值得注意的是 Laravel
处理侦听器的方式是绑定到特定的 class。所以你仍然需要确保 class 存在,这样你就可以为它定义一个监听器。