最近在用swoole的时候涉及到fd ->uid储存,发送的时候通过uid找到对应fd。有两种储存方式
方式一:redis
$redis->set('uid', $fd); //设定
$fd = $redis->get('uid'); //用的时候找出对应fd
方式二:变量(只要swoole进程不结束可随时取出)
$users[uid] = $fd; //设定
$fd = $users[uid]; //用的时候找出对应fd
在数量比较大的情况下,哪种效率更高?内存消耗更小呢
最近在用swoole的时候涉及到fd ->uid储存,发送的时候通过uid找到对应fd。有两种储存方式
方式一:redis
$redis->set('uid', $fd); //设定
$fd = $redis->get('uid'); //用的时候找出对应fd
方式二:变量(只要swoole进程不结束可随时取出)
$users[uid] = $fd; //设定
$fd = $users[uid]; //用的时候找出对应fd
在数量比较大的情况下,哪种效率更高?内存消耗更小呢
理论上后者效率更高,但是你要考虑到接口调用的开销,所以最好做实际的压力测试。