【问题标题】:how to refresh a one customer page after request accepted by second customer如何在第二个客户接受请求后刷新一个客户页面
【发布时间】:2023-04-10 09:17:01
【问题描述】:

我正在创建基于 Web 的应用程序来查找您所选区域附近的客户。选择区域后,我向客户发送请求,并在 2 分钟内检查请求的客户是否接受请求。

在我之前的解决方案中,我创建了一个 API。在每 5 秒后,我向我的 MYSQL 数据库发送请求以检查值是否更新。但在这种情况下,由于更多的请求和流量,数据库的负载不断增加。

谁能给我一个更好的解决方案来减少mysql数据库的加载时间?

【问题讨论】:

  • 使用Node js或者User Redis或者任何缓存系统来存储和校验

标签: php mysql ajax codeigniter


【解决方案1】:

您可以使用长轮询。通过创建到服务器的开放连接。

这是一个例子:

(function poll(){
    $.ajax({ url: "index.php?a=1", success: function(data){
        //HANDLE RESPONSE AS YOU NEED;
    }, dataType: "json", complete: poll, timeout: 30000 });
})(); 

在 Index.php 中

//add this at top to create open connection
set_time_limit(0);
if($_GET['a']){
$data = array("status"=>200,"data"=>$response_array);
echo json_encode($data);
die;
}

我只是举这个例子来说明如何使用长轮询。要了解更多关于长轮询的信息,请查看here

【讨论】:

    猜你喜欢
    • 2015-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    相关资源
    最近更新 更多