ytake/laravel-voltdb
Composer 安装命令:
composer require ytake/laravel-voltdb
包简介
VoltDB providers for Laravel
README 文档
README
##for laravel5 Laravel4 Laravel.VoltDB
#Install
required ext-voltdb, ext-curl
Add the package to your composer.json and run composer update.
"require": { "php": ">=5.4.0", "ytake/laravel-voltdb": "1.*" },
Add the service provider in app/config/app.php:
'providers' => [ 'Ytake\LaravelVoltDB\VoltDBServiceProvider', ];
Add the aliases in app/config/app.php:
'aliases' => [ 'VoltDBApi' => 'Ytake\LaravelVoltDB\VoltDBFacade', ];
The service provider will register a voltdb database extension
not supported Eloquent, QueryBuilder
(VoltDB supports PHP client application development using VoltDB PHP client library.)
#Configure Add database connection
'voltdb' => [ 'driver' => 'voltdb', 'host' => 'localhost', 'username' => '', 'password' => '', 'port' => 21212 ],
by default .env
DB_HOST=localhost
DB_DATABASE=voltdb
DB_USERNAME=username
DB_PASSWORD=secret
CACHE_DRIVER=voltdb
SESSION_DRIVER=voltdb
publish
$ php artisan vendor:publish
#Database Extension ##@AdHoc query
$sql = "INSERT INTO users (user_id, username, password, remember_token, created_at)" ." VALUES (" . rand() . ", 'voltdb', '" . $pass . "', null, '" . date("Y-m-d H:i:s") . "')"; \DB::connection('voltdb')->exec($sql); $sql = "SELECT * FROM users"; \DB::connection('voltdb')->select($sql);
not supported prepared statement
Recommended stored procedure
##stored procedure
\DB::connection('voltdb')->procedure('Auth_findUser', [1]);
#Auth
include voltdb auth driver
in config/auth.php:
'driver' => 'voltdb',
or .env
#Cache
include voltdb cache driver
in config/cache.php:
'driver' => 'voltdb', 'voltdb' => [ 'driver' => 'voltdb', ],
#Session
include voltdb session driver
in app/config/session.php:
'driver' => 'voltdb',
Auth, Cache, Session use Stored Procedure(see schema/ddl.sql)
#publish for auth, cache, session ddl.sql
$ php artisan ytake:voltdb-schema-publish
Options:
--publish (-p) Publish to a specific directory
default storage/schema/ddl.sql
###DDL default ddl
CREATE TABLE users ( user_id INTEGER UNIQUE NOT NULL, username VARCHAR(40) NOT NULL, password VARCHAR(64) NOT NULL, remember_token VARCHAR(128) DEFAULT NULL, created_at TIMESTAMP NOT NULL, PRIMARY KEY(user_id) ); CREATE INDEX UsersIndex ON users (username, password, remember_token); CREATE TABLE caches ( key VARCHAR(255) UNIQUE NOT NULL, value VARCHAR(262144), expiration INTEGER DEFAULT 0 NOT NULL, CONSTRAINT PK_cache PRIMARY KEY (key) ); CREATE INDEX IX_cache_expires ON cache (expiration); CREATE TABLE sessions ( id VARCHAR(255) UNIQUE NOT NULL, payload VARCHAR(65535), last_activity INTEGER DEFAULT 0 NOT NULL ); CREATE INDEX IX_session_id ON sessions (id); CREATE INDEX IX_activity ON sessions (last_activity);
#Facades supported for json interface API
// call stored procedure @SystemInformation \VoltDBApi::request()->info()->getResult(); // basic \VoltDBApi::request()->post([ 'Procedure' => 'addUser', 'Parameters' => [1, "voltdb"] ])->getResult();
###Async Stored Procedure see VoltDB.PHPClientWrapper
#Console
ytake:voltdb-schema-publish publish DDL for auth, cache driver
ytake:voltdb-info information about ytake/laravel-voltdb
ytake:voltdb-system-catalog renderer system catalog
##voltdb-system-catalog
Options:
--component (-c) returns information about the schema of the VoltDB database, depending upon the component keyword you specify.
example
Such as MySQL SHOW COLUMNS
$ php artisan ytake:voltdb-system-catalog -c COLUMNS
ytake/laravel-voltdb 适用场景与选型建议
ytake/laravel-voltdb 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 37 次下载、GitHub Stars 达 4, 最近一次更新时间为 2014 年 07 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「database」 「cache」 「session」 「auth」 「laravel」 「voltdb」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 ytake/laravel-voltdb 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 ytake/laravel-voltdb 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 ytake/laravel-voltdb 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Dibi is Database Abstraction Library for PHP
repository php library
Secure session middleware for Slim 3 framework
Store your language lines in the database, yaml or other sources
A package for automatically encrypting and decrypting Eloquent attributes in Laravel 5.5+, based on configuration settings.
Non-I/O blocking PHP SessionHandler implementation using Nette/Caching with DI Extension for Nette framework
统计信息
- 总下载量: 37
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 5
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2014-07-20