国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

請(qǐng)教GatewayWorker使用Redis 說明

skygw

求教,如何在GatewayWorker安裝河使用Redis組件呢,看了下Workman教程里面的Redis章節(jié)是空白的,而Workman/Redis 內(nèi)容貌似和單純使用Redis不太一樣。
我只想在多客戶端進(jìn)程上共享數(shù)據(jù),其他功能也用不到。感謝!

2201 2 0
2個(gè)回答

walkor 打賞

裝個(gè)redis擴(kuò)展,然后onWorkerStart里實(shí)例化下后面就直接用了。

class Events
{
    /**
     * 新建一個(gè)類的靜態(tài)成員,用來保存redis實(shí)例
     */
    public static $redis = null;

    /**
     * 進(jìn)程啟動(dòng)后初始化redis連接
     */
    public static function onWorkerStart($worker)
    {
        self::$redis = new Redis();
        self::$redis->connect('127.0.0.1', 6379);
    }

   public static function onMessage($client_id, $message)
   {
       self::$redis->get('test');
   }

}
  • skygw 2022-11-02

    感謝感謝

  • skygw 2022-11-02

    另外再請(qǐng)教下,哪里可以安裝這個(gè)Redis擴(kuò)展呢,一樓鏈接里的下回來不知道放在哪里

  • walkor 2022-11-02

    百度下php 安裝redis擴(kuò)展,很多教程

  • skygw 2022-11-05

    感謝,已經(jīng)正常裝上并使用Redis了。
    但有個(gè)新問題,貌似Redis只能存儲(chǔ)string,那如果遇到那種自定義類型的多維數(shù)組怎么更靈活來多線程同步數(shù)據(jù)呢?
    網(wǎng)上有說用json_encode來序列化,但是使用decode反向操作的時(shí)候,數(shù)組中的Object對(duì)象就無效了。
    求助各位高人指點(diǎn)一二,感謝!

  • skygw 2022-11-05

    比如靜態(tài)數(shù)組的數(shù)據(jù)是這樣的:
    class Events{
    public static $tableList;
    public static $redis;

    public static function onWorkerStart($businessWorker){
    self::$redis = new Redis();
    self::$redis->connect('127.0.0.1',6379);

    //初始化tableList
    for($i=0;$i<10;$i++){
    self::$tableList[]=new XXX();
    }

    //存入Redis
    self::$redis->set('tableList',json_encode(self::$tableList));

    //取出Redis數(shù)據(jù):
    self::$tableList=json_decode(self::$redis->get('tableList'));

    //這時(shí)候使用 self::$tableList[0]->xxx()就失效了
    }

    }

  • Gin 2022-11-05

    用 serialize unserialize

  • skygw 2022-11-05

    感謝樓上的朋友,學(xué)習(xí)了。

年代過于久遠(yuǎn),無法發(fā)表回答
??