在laravel中使用redis的psubscribe接收redis变量过期事件的问题
我在laravel中使用redis的psubscribe,目的就是为了给订单设置30分钟的过期事件,订单过期后进行一些业务处理。虽然已经达成我的目的了,但是有个诡异的地方。
我访问$redis->psubscribe()的时候,这个方法是会阻塞请求的。而且只有阻塞请求的时候,psubscribe()方法才能捕抓到redis变量过期事件。所以我需要先想办法让这个阻塞请求维持的更久(不让nginx报超时错误)。
那我还需要将nginx的keepalive_timeout设置的非常大
这里设置为0 是做不到永久的,所以我还得设置成无限大的数字,例如100000000。
所以我问一下,虽然我的目的达到了,但是我觉得这样做有点奇怪,是不是我的用法不对。网上也有人在终端里使用php指令访问php文件,这样确实就放着终端在那就好了,比我现在的方式要好,但是我是在laravel中使用redis->psubscribe(),所以还不能使用php指令访问文件。
推荐文章: