刁旭东 2023-09-25 08:21 采纳率: 77.8%
浏览 5
已结题

php如何调用go的守护进程

在服务端运行了一个go的进程,一直在后台驻留,现在需要用php不定时给它传递字符串,请问能用管道吗?
亦或者用给文件加锁
或者用radis
哪种更好些?

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-09-25 08:23
    关注

    此回复引用 皆我百晓生 小程序,希望对题主有所帮助,如有帮助,还请采纳。


    在PHP调用Go的守护进程时,可以使用以下几种方法来传递数据:

    1. 使用管道(Pipe):在PHP中可以使用proc_open函数来创建一个子进程,并通过管道来与子进程通信。你可以将数据写入管道,然后在Go的守护进程中读取管道中的数据。这种方法相对简单,适用于简单的数据传递。

    2. 文件加锁:在PHP中,你可以使用文件来实现进程间通信。通过给文件加锁来控制并发访问,PHP写入数据后,Go的守护进程再读取该文件中的数据。这种方法适用于需要控制并发访问的情况。

    3. 使用Redis:Redis是一个高性能的内存数据结构存储系统,你可以在Go的守护进程中监听Redis的消息队列,PHP通过将消息写入Redis来传递数据给Go的守护进程。这种方法适用于需要实时性较高的数据传递。

    根据你的需求以及应用场景,选择合适的方法进行进程间通信。如果数据量较小且需要实时性较高,可以选择使用Redis;如果数据量较大,可以考虑使用管道或文件加锁的方式。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月1日
  • 已采纳回答 6月23日
  • 创建了问题 9月25日

悬赏问题

  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥15 pyqt信号槽连接写法
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急