Laravel 中的多线程

2023-11-23

我遇到了一个问题,我的数据库调用显着减慢了页面加载速度。我正在从选举数据填充多个图表,我的表包含大约 100 万行,我必须在每个方法中多次查询这些数据getCharts() method.

I'am 使用这个将返回数据传递给 JavaScript。

当您单击数据点时,这些图表会重新填充。因此,如果您单击一个点,即(“民主”),它将重新加载页面并再次调用这些方法。

我想问的是是否可以在原生 PHP 中做这样的事情。服务器在 linode 上运行 PHP 5.2。

foreach(function in getChartsMethod){
     Start a child thread to process the function. 
}  
join the threads. 
reload the page. 


public function getCharts(){
        $this->get_cast_chart();
        $this->get_party_chart();
        $this->get_gender_chart();
        $this->get_age_chart();
        $this->get_race_chart();
        $this->get_ballot_chart();
        $this->get_county_chart();
        $this->get_precinct_chart();
        $this->get_congressional_district_chart();
        $this->get_senate_district_chart();
        $this->get_house_district_chart();
        return view('elections.index');
    }

样品方法

public function get_party_chart(){
        $query = DB::table($this->tableName)
            ->select('party', DB::raw('count(*) as numVotes'))
            ->groupBy('party')
            ->orderBy('numVotes', 'ASC');

        if ($this->filterParameters != null){
            $query = $query->where(key($this->filterParameters), $this->operator, current($this->filterParameters));
        }
        $chartData = $query->get();
        $chartData = $this->prepare_data_for_chart($chartData, 'party', 'numVotes');
        JavaScript::put(['partyChart' => $chartData]);

    }

PHP 中可以实现多线程,之前已经在 Stackoverflow 上讨论过:如何在 PHP 应用程序中使用多线程

但是我不知道多线程在这里能帮到你多少。我们谈论了多少数据,您在图表中寻找什么样的准确性?显示了多少个图表?很多解决方案都来自于上下文。

如果是我的话我就有背景schedule将“大量”数据预处理为在前端更有用/可用的东西。同样,有用/可用完全取决于上下文。当有实际的页面请求时,您只需要传递处理后的数据,而不是实际的“实时”数据。

再说一遍,这完全取决于您的应用程序的上下文。也许您需要实时数据,也许不需要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 中的多线程 的相关文章

  • 将策略应用到资源控制器

    我有一个CRUD资源定义通过Route resource User UserController 既然可以生成CRUDGates and Policies 有没有办法应用这样的Gate Policy 以便将相应的Gate Policy应用于
  • PHP-列出一年中一个月中的所有天[重复]

    这个问题在这里已经有答案了 可能的重复 我在 PHP 中有 2 个日期 如何运行 foreach 循环来遍历所有这些日期 https stackoverflow com questions 3207749 i have 2 dates in
  • CakePHP - 选择性 SSL

    如何对网站的某些部分强制使用 HTTPS 例如登录页面或注册页面 并使用 HTTP 来完成网站的其余部分 我最喜欢的强制转换为 https 的方法是将其作为 php 脚本中的第一件事 它可以在 Joomla 中运行 也可以在 CakePHP
  • Doctrine 装置如何覆盖 purger 类?

    From doctrine fixture bundle the console doctrine fixtures load n命令定义如下 https github com doctrine DoctrineFixturesBundle
  • 使用控制器通过 codeigniter 处理返回的自定义 css 和 javascript 文件

    我正在开发一个 php codeigniter 项目 我正在考虑创建一个专门用于处理返回自定义 css 和 javascript 文件的控制器 在之前的项目中 我在视图文件的标头中包含了外部 CSS 和 JS 文件 但它们本质上必须是静态的
  • 如何使用 wait() 和 notification() 正确暂停线程

    我想要一个启动线程并提供暂停和继续该线程的方法的类 我的第一个方法是使用标志 只要该值为 true 它就会循环 sleep 方法 就像是 public class Bot private Thread t private boolean i
  • php 邮件特殊字符 utf8

    我有以下脚本 在电子邮件中 主题 Testmail Special Characters Body Hi there this isn t somet
  • 将数据从一个线程传递到另一个线程的最快可能方法

    我正在使用增强spsc queue将我的东西从一个线程移动到另一个线程 这是我的软件中的关键位置之一 所以我想尽快完成它 我写了这个测试程序 include
  • 将具有值的产品属性添加到 Woocommerce 中的产品

    我正在使用此代码添加自定义属性 attributes array array name gt Size options gt array S L XL XXL position gt 1 visible gt 1 variation gt
  • 将 PayPal 返回 URL 设置为 localhost

    我正在尝试集成 Paypal 并且在此过程中使用沙箱 我按照以下问题中接受的答案的步骤进行操作 设置 PayPal 返回 URL 并使其自动返回 https stackoverflow com questions 7642895 setti
  • 为什么 PHPUnit 将一些右大括号显示为未被覆盖?

    我正在使用 PHPUnit 3 6 7 PHP CodeCoverage 1 1 1 和 Xdebug 2 1 2 当我让 PHPUnit 将代码覆盖率统计信息写入 clover 样式的 XML 文件时 它偶尔会显示一个右花括号 表示测试未
  • 警告:mysqli_query() 期望参数 1 为 mysqli,在 中给出 null

    我正在尝试构建一个简单的自定义 CMS 但出现错误 警告 mysqli query 期望参数 1 为 MySQLi 在中给出的为 null 为什么我会收到此错误 我的所有代码都已经是 MySQLi 并且我使用两个参数 而不是一个 con m
  • Oracle Blob 在 PHP 页面中作为 img src

    我有一个网站当前使用文件服务器上的图像 这些图像显示在页面上 用户可以根据需要拖放每个图像 这是使用 jQuery 完成的 图像包含在列表中 每张图片都非常标准 img src network path image png height 8
  • WCF - AsyncPattern=true 或 IsOneWay=true

    我的 WCF 服务中很少有方法需要花费大量时间 生成报告和发送电子邮件 根据目前的要求 要求客户端应用程序只需提交请求 然后不等待整个过程完成 它将允许用户继续在客户端应用程序中执行其他操作 而不是等待整个过程完成 我很困惑该走哪条路 As
  • 从关系中合并 Laravel 中的集合

    假设我有 3 张桌子 Images Subject Style 关系是多对多 图像 主题 和多对多 图像 样式 现在我想做一些类似的事情 result subjectResult gt images gt merge styleResult
  • 是否可以使用流上下文在 PHP 下使用 FTPS?

    我了解到使用ftpsPHP for Windows 下的 ftp ssl connect 很困难 您被要求进入构建自己的二进制文件以包括 Open SSL 的漫长旅程 我找到了以下建议phpseclib http phpseclib sou
  • 新任务中使用的依赖注入服务

    我在需要时使用依赖项注入来访问我的服务 但我现在想要创建一个并发任务 但这会由于依赖项注入对象及其生命周期而导致问题 我读过这篇文章 标题 防止多线程 Link http mehdi me ambient dbcontext in ef6
  • 通过php将mp3转换为ogg

    我有一个网站 用户可以上传音乐并将其转换为 mp3 但我需要 mp3 和 ogg 文件支持才能以 html5 播放音乐 那么 有没有可以将mp3转换为ogg的php脚本呢 使用 ffmpeg 您可以直接从 php 脚本执行命令
  • 使我的 COM 程序集调用异步

    我刚刚 赢得 了在当前工作中维护用 C 编码的遗留库的特权 这个dll 公开使用 Uniface 构建的大型遗留系统的方法 除了调用 COM 对象之外别无选择 充当此遗留系统与另一个系统的 API 之间的链接 在某些情况下 使用 WinFo
  • Java 和/C++ 在多线程方面的差异

    我读过一些提示 多线程实现很大程度上取决于您正在使用的目标操作系统 操作系统最终提供了多线程能力 比如Linux有POSIX标准实现 而windows32有另一种方式 但我想知道编程语言水平的主要不同 C似乎为同步提供了更多选择 例如互斥锁

随机推荐

  • 将工作簿中的每个工作表保存为单独的 CSV 文件

    如何将 Excel 工作簿中的每个工作表分开保存CSV带有宏的文件 我有一个包含多个工作表的 Excel 我正在寻找一个宏 可以将每个工作表保存到单独的CSV comma separated file Excel 不允许您将所有工作表保存到
  • ActionBarSherlock 上的activatedBackgroundIndicator 的自定义背景不起作用

    我在用着动作栏夏洛克我正在尝试定制激活背景指示器行背景的属性 如果我使用最新的android sdk 没有动作栏夏洛克 我可以自定义背景 创建以下样式资源 值 style xml并将其定义为AndroidManifest xml as an
  • 数据表重新初始化 (jQuery)

    当我首先加载页面时 表中没有任何内容 并且数据表未初始化 在添加了一些交互行之后 当添加所有行 使用ajax调用 时 我以这种方式初始化数据表 oTable table dataTable bJQueryUI true bSortClass
  • HTML 属性名称中允许使用哪些字符?

    在 HTML 属性中名称 值对 名称 部分允许使用哪些字符 看着一些共同属性似乎只使用字母 a z 和 A Z 但是还允许使用其他什么字符 也许是数字 0 9 连字符 和句点 有没有规格这个 这取决于你所说的 允许 是什么意思 每个标签都有
  • Apache:如何从网络之外的计算机访问我的网页?

    我想从网络外部的计算机访问我的网页 我们的网络有 192 168 0 1 192 168 0 255 这样的 IP 网络通过本地网关 192 168 0 1 连接到 Internet 并到达 DNS 服务器 193 xxx xxx xxx
  • 确定用户是否拒绝了 CoreLocation 权限

    是否可以以编程方式确定用户已拒绝使用其位置的权限 其次 如果用户拒绝了权限 是否可以重新提示用户 您可以使用以下方式确定您的授权状态authorizationStatus类方法上CLLocationManager 这会返回一个CLAutho
  • 从 C# 调用 python 代码(.py 文件)

    我有一些执行特定任务的 python 代码 我需要从 C 调用此代码 而不将 python 文件转换为 exe 因为整个应用程序是基于 C 构建的 我怎样才能做到这一点 如果你的Python代码可以通过执行铁蟒那么这绝对是正确的选择 它提供
  • Django:如何使用存储的模型实例作为表单选择?

    我有一个模型 本质上只是一个字符串 django db models CharField 只会存储该模型的几个实例 我如何使用这些值作为表单中的选择 为了说明这一点 该模型可以是BlogTopic 我想让用户能够选择一个或多个主题来订阅 我
  • Linux 内核导致 UDP 数据包丢失

    我有一个通过多播发送 UDP 数据包的服务器和一些列出这些多播数据包的客户端 每个数据包的大小固定为1040 Bytes 服务器发送的整个数据大小为3GByte 我的环境如下 1 Gbit 以太网 40 个节点 1 个发送方节点和 39 个
  • Java 中的向下转型

    Java 中允许向上转换 但向下转换会产生编译错误 可以通过添加强制转换来消除编译错误 但无论如何都会在运行时中断 既然如此 如果 Java 不能在运行时执行 为什么允许向下转型呢 这个概念有什么实际用途吗 public class dem
  • ICSharpCode.SharpZipLib 验证 zip 文件

    使用 C 的 ICSharpCode SharpZipLib 如何验证传递的文件实际上是有效的 zip 文件 不是右键单击并重命名为 zip 的文件 HttpPost public ActionResult Upload HttpPoste
  • Safari JavaScript setTimeout 在最小化时停止

    这与以下几点有关 El Capitan 版 Safari 9 1Safari 10 塞拉利昂版 有谁知道当浏览器或选项卡失去焦点 主要是最小化 时 Safari 在 JavaScript 引擎中对 setTimeout 做了什么 我创建了一
  • 将 Application Insight 添加到现有的 Azure Service Fabric 群集

    自过去 4 个月以来 我们一直在开发 Azure Service Fabric 但现在决定拥有一个统一的日志基础设施 我们正在使用 AppInsight 我们如何将 AppInsight 密钥添加到现有的 Service Fabric 集群
  • 启用:仅关注键盘使用(或按 Tab 键)

    我想禁用 focus当不需要它时 因为我不喜欢焦点位于导航上时的外观 它使用相同的风格 active这很令人困惑 但是我不想为使用键盘的人摆脱它 我正在考虑添加一个类enabled focus在主体上按下标签 然后有body enabled
  • qsort 函数比较让我困惑

    我看到很多人在 qsort 比较器函数中使用减法 我认为这是错误的 因为在处理这些数字时 int nums 2147483648 1 2 3 INT MIN 2147483648 int compare const void a const
  • 使用 HTTPS 的 WCF 会话

    我无法弄清楚如何在使用 HTTPS 时为我的 WCF 服务启用每会话实例 我不是 ASP NET 专家 但如果可能的话 不想使用 ASP NET 会话状态 我正在使用 NET Framework 3 0 我遇到了以下矛盾 希望有人能告诉我哪
  • 每次表单输入字段更改时如何发送 ajax 请求?

    例如 有一个输入字段 每次用户在该字段中键入一个键时 它都会发送一个 AJAX 请求 其中包含当前输入中的任何文本 并对其执行某些操作 我研究了 Jquery 中的更改和 keyup 函数 但是当我在 Jsfiddle 中尝试它们时 它们没
  • 如何使用 jQuery.Ajax 访问 400 错误的 JSON 响应?

    在 jQuery 中 我将表单提交到服务器 当出现验证错误时 我会从服务器收到 400 错误 并且文档正文是有效的 JSON 我想知道如何访问从服务器返回的数据 我的 jQuery Ajax 对象上的 error 回调函数从未被调用 因此我
  • 使用 Android 应用程序更改网络运营商

    我正在尝试开发一个Android应用程序 它可以在地图上显示各个网络运营商的信号强度 问题是改变网络运营商的唯一方法是手动操作 关于如何在不手动更改的情况下获取此信息的任何想法 我认为有内部 私有 Android 类可以做到这一点 您将需要
  • Laravel 中的多线程

    我遇到了一个问题 我的数据库调用显着减慢了页面加载速度 我正在从选举数据填充多个图表 我的表包含大约 100 万行 我必须在每个方法中多次查询这些数据getCharts method I am 使用这个将返回数据传递给 JavaScript