Gatewayworker中进行redis初始化以及使用redis存取数据的操作

本文介绍了在Gatewayworker中如何进行Redis初始化,强调初始化应在`onWorkerStart`事件中进行以避免性能影响。文中提到使用phpredis扩展而非redis-react,并提供了初始化代码示例。在进行Redis存取数据操作时,需要引入全局变量`redis`并在业务代码中使用phpredis函数。文中还提及了通过前端页面向gatewayworker发送数据,以实现基于Redis的操作。
摘要由CSDN通过智能技术生成

1.Gatewayworker中,进行redis的初始化

在Gatewayworker中,进行redis的初始化,需要在Events::onWorkerStart中进行。

Events::onWorkerStart是每个进程生命周期内都只会触发一次,所以适合进行初始化的操作,包括定时器以及mysql等初始化操作。

redis的初始化实际上在其他回调函数中也可以进行,但是由于在public static function onMessage($client_id, $message) 函数中,会有定时器的功能,众多数量级的用户反复执行onMessage,会造成时时刻刻都在初始化redis的情况产生,影响系统功效。

所以redis的初始化操作,肯定是要在Events::onWorkerStart中进行。

在Gatewayworker中使用redis,我直接使用了phpredis扩展,而没有使用Gatewayworker里面的redis-react,因为redis-react是一个实验性组件,有隐藏BUG,不适用于商业及生产环境。

不需要安装新的组件,方便多了。可以直接使用phpredis的语句即可进行redis的初始化和业务调用。

初始化代码:

    //强烈建议在onWorkerStart回调中初始化redis、mysql数据库连接,
    public static function onWorkerStart($businessWorker)
    {
   
        echo "Gatewayworker Start\n";

        ini_set('default_socket_timeout', -1); //redis不超时
        global 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值