想确认thinkorm实现连接池的过程

koklin

问题描述

各位大佬你们好,我这边现在是想让thinkorm能实现连接池的功能。在文档中值看到说thinkorm是支持连接池、协程和非协程的环境,但是文档中并没有说明具体该怎么针对thinkorm去实现连接池

方案搜索

在数据库那边的配置数据库章节里边我有看到说如果要支持连接池会需要下载swoole或者swow模块才能运行。

https://cloud.tencent.com/developer/article/2454136
我看了这个是先下载需要模块后只要直接运行就可以了

https://www.workerman.net/doc/webman/coroutine/coroutine.html#Pool%20%E8%BF%9E%E6%8E%A5%E6%B1%A0
这边协程里边有写说如果要实现连接池就需要自己手动去实现

我推测针对thinkorm实现连接池的流程

根据这个我是否可以理解如果要实现连接池要实现下面步骤

  1. 安装swow模块,然后执行下面命令去运行项目
    php -d extension=swow webman start
  2. 针对thinkorm写上一个对应的协程连接池去执行,然后把这个文件想办法配置进项目里边就能执行了

以上是我想到的方法,但针对于协程连接池这边要怎么写我没太大头绪。想问问各位大佬这方面的流程是否正确呢?谢谢了

279 3 0
3个回答

nitron

你用webman/think-orm就行,已经实现了不用你自己去手动实现

webman已经提供了 webman/database webman/redis webman/cache webman/think-orm webman/think-cache等组件,它们都集成了连接池,支持在协程和非协程环境下使用。

  • koklin 4天前

    但就有看到说如果不是用swow或者swoole的情况下,连接池默认只会有1个连接

  • nitron 4天前

    看下面那个给你的文档吧,只有一个连接的连接池也是池

  • koklin 3天前

    嗯嗯,我就是有看了那个发现连接池里边只有一个连接,如果我想弄多个连接在一个连接池时需要自己去写吗

kof21411
  • koklin 3天前

    好的,我是有参考了这篇。所以才想着能不能针对连接池添加多个连接进去

  • ichynul 3天前

    Swoole/Swow不需要你去加,非Swoole/Swow你加了也没用。你直接用就行了,有什么需求满足不了吗。

qqxxr

底层自动支持Swoole/Swow/Fiber/Select/Event驱动
当使用Fiber/Select/Event驱动时,如果使用的是PDO redis等阻塞式扩展,则自动退化为只有一个连接的连接池

这是标答

  • koklin 3天前

    理解,那么如果我想要弄多个连接的连接池该怎么做呢?我就是想要解决这个问题

🔝