p2 project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1.2 KiB

2 months ago
<?php
namespace app\utility;
use MongoDB\Client;
class MongoConnection
{
1 month ago
const QUOTE_DATA_BASE_NAME = 'bourse'; // 各类行情数据存储在mongodb中的数据库名称
const QUOTE_TOP_DATA_HASH_ARR = [
'3' => 'QUOTE_TOP_DATA_HASH_STOCK', //股票行情置顶数据Key
'19' => 'QUOTE_TOP_DATA_HASH_FOREX' //外汇行情置顶数据Key
];
// mongo中存储各类行情的集合名称
const COLLECTION_ARR = [
'3' => 'stockListBak', // 美股行情
'19' => 'forexListBak' // 外汇行情
];
2 months ago
private static $client = null;
public static function getClient() {
if (self::$client === null) {
$uri = "mongodb://".env('MONGODB.USERNAME').':'.env('MONGODB.PASSWORD').'@'.env('MONGODB.HOST').":".env('MONGODB.PORT');
self::$client = new Client($uri, [
'maxPoolSize' => 200, // 设置连接池最大连接数
'minPoolSize' => 10, // 设置连接池最小连接数(可选)
'serverSelectionTimeoutMS' => 5000, // 超时设置(防止请求挂死) 单位是毫秒
]);
}
return self::$client;
}
}