内存中对像问题

zhqing
 public static function onWorkerStart($businessWorker)
    {
        global $db;
 
        require_once __DIR__ . '/demo.php';
        $db = new demo();
    }
 
    /**
     * 当客户端发来消息时触发
     * @param int $client_id 连接id
     * @param mixed $message 具体消息
     */
    public static function onMessage($client_id, $message)
    {
       global $db;
 
        $data=json_decode($message,true);
        if ($data=='edit'){
            $db->info=$data;
            $content='设置成功';
        }else{
            $content=!empty($db->info)?$db->info:'没有值';
        }
        Gateway::sendToAll($content);
    }

$db->info的值是共享的,可以设为每个客户端读取自己设置的值吗?
比如1客户设置了内容:123456 ,另外几个客户端取到这个对像的值也是123456了

2116 1 0
1个回答

朕震惊了

$db->info弄成数组,$db->info =xxx。
但是这样不太好,随着客户端越来越多,这个数组越来越大,然后内存就不断变大。会出问题

  • zhqing 2019-01-21

    第一次接触这个,我使用的mysql是面向对像的,那么我要给对像加个标识,除了client_id ,还有什么可以生成唯一会话标识的

  • zhqing 2019-01-21

    Workerman/MySQL
    self::$db->select('*')->from('users')->where('uid>3')->offset(5)->limit(2)->query();
    这样对像生成sql,多客户端同时生成不会冲突吗?

年代过于久远,无法发表回答
×
🔝