byjg/anydataset-nosql

一个NoSql抽象数据集。Anydataset是PHP中的一个数据源抽象层。

4.9.1 2024-06-04 15:33 UTC

This package is auto-updated.

Last update: 2024-09-16 15:51:07 UTC


README

Build Status Opensource ByJG GitHub source GitHub license GitHub release

Anydataset NoSQL标准化了对非关系型数据库/存储库的访问,并将它们视为键/值。其实现在以下数据库中可用:

  • MongoDB
  • Cloudflare KV
  • S3
  • DynamoDB

Anydataset是PHP中的一个数据源抽象层。更多关于Anydataset的信息请在此处查看

特性

  • 作为键/值存储访问不同的数据源
  • 允许存取数据
  • 简化连接数据源的方式

基于URI的连接

数据库的连接字符串基于URL。

以下为当前实现的驱动程序

示例

请访问https://opensource.byjg.com/php/anydataset-nosql查看实现示例

安装

只需输入

composer require "byjg/anydataset-nosql"

运行单元测试

docker-compose up -d
export MONGODB_CONNECTION="mongodb://127.0.0.1/test"
export S3_CONNECTION="s3://aaa:12345678@us-east-1/mybucket?create=true&endpoint=http://127.0.0.1:4566"
export DYNAMODB_CONNECTION="dynamodb://accesskey:secretkey@us-east-1/tablename?endpoint=http://127.0.0.1:8000"
vendor/bin/phpunit

为单元测试设置MongoDB

设置环境变量

  • MONGODB_CONNECTION = "mongodb://127.0.0.1/test"

为单元测试设置AWS DynamoDb

设置环境变量

  • DYNAMODB_CONNECTION = "dynamodb://accesskey:secretkey@region/tablename"

为单元测试设置AWS S3

设置环境变量

  • S3_CONNECTION = "s3://accesskey:secretkey@region/bucketname"

Cloudflare KV

设置环境变量

  • CLOUDFLAREKV_CONNECTION = "kv://email:authkey@accountid/namespaceid"

依赖关系

开源ByJG