byjg / anydataset-nosql
一个NoSql抽象数据集。Anydataset是PHP中的一个数据源抽象层。
4.9.1
2024-06-04 15:33 UTC
Requires
- php: >=7.4
- ext-curl: *
- ext-json: *
- aws/aws-sdk-php: 3.*
- byjg/anydataset: 4.9.*
- byjg/anydataset-array: 4.9.*
- byjg/serializer: 4.9.*
- byjg/webrequest: 4.9.*
Requires (Dev)
- phpunit/phpunit: 5.7.*|7.4.*|^9.6
Suggests
- ext-mongodb: *
- byjg/cache-engine: 4.9.*
Provides
README
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"