分享 Yii2 SSDB ActiveRecord ActiveQuery NoSql扩展

扩展 · myweishanli · 于 1年前 发布 · 1061 次阅读

SSDB是一款类似于Redis的NoSql数据库

由于公司需要 所以开发的此扩展

github: https://github.com/myweishanli/yii2-ssdb

更多功能开发中...

安装

安装这个扩展的首选方式是通过 composer.

执行

composer require myweishanli/yii2-ssdb:dev-master

或添加

"myweishanli/yii2-ssdb": "dev-master"

配置

高级版是common/config/main-local.php

基础版是config/web.php

'components' => [
    // ...
    'ssdb' => [
        'class' => 'wsl\ssdb\Connection',
        'host' => 'localhost',
        'port' => 8888,
    ],
],

创建数据模型

common/models/ssdb/User.php

/**
 * This is the ActiveRecord class for [[\common\models\User]].
 *
 * @property string $user_id
 * @property string $name
 * @property integer $age
 * @property integer $status
 */
class User extends \wsl\ssdb\ActiveRecord
{
    public static $modelClass = '\common\models\User';
}

Active Record、Active Query使用说明

默认只能使用单个主键排序 更多排序查询自定义排序规则

新增或者替换数据

$userModel = new User();
$userModel->user_id = 1000000;
$userModel->name = '张三';
$userModel->age = 19;
$userModel->status = 0;
$userModel->save();

获取一条数据

$model = User::find()->one();

获取一条数据 排序

$model = User::find()->orderBy('user_id asc')->one();

删除全部

User::deleteAll();

获取一条数据 条件查询

$model = User::find()->andWhere(['user_id' => 1000000])->one();

获取一条数据 多条件查询

$model = User::find()->andWhere(['user_id' => 1000000, 'age' => 19])->one();

获取所有数据列表

$models = User::find()->all();

获取所有数据列表 排序

$models = User::find()->orderBy('age desc')->all();

获取所有数据列表 条件查询

$models = User::find()->andWhere(['user_id' => 1000000])->all();

分页数据列表

$models = User::find()->offset(1)->limit(1)->all();

使用DataProvider

$dataProvider = new ActiveDataProvider([
    'query' => User::find(),
     'pagination' => [
         'pageSize' => 20,
     ],
]);
foreach ($dataProvider->getModels() as $itemModel) {
    // code...
}

更多应用

本帖已被设为精华帖!
共收到 4 条回复 ActiveRecord SSDB Yii2 ActiveQuery NoSql
forecho#11年前 0 个赞

SSDB 用 SSD 代替内存,性价比很高,不过还没用过。

light#29个月前 0 个赞

项目停止了?

3楼 已删除.
myweishanli#49个月前 0 个赞

@light #2楼 没有停止正准备发布Rbac2.0这个会稍微延迟些

light#59个月前 0 个赞

RBAC 2.0 啥东西

添加评论 (需要登录)