PHPackages                             yiiplus/yii2-kvstore - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. yiiplus/yii2-kvstore

ActiveYii2-extension[Database &amp; ORM](/categories/database)

yiiplus/yii2-kvstore
====================

kvstore 是以 key-&gt;value 数据结构进行存储

2.1.6(7y ago)3122BSD-3-ClausePHPPHP &gt;=7.1.0

Since Sep 6Pushed 6y ago3 watchersCompare

[ Source](https://github.com/yiiplus/yii2-kvstore)[ Packagist](https://packagist.org/packages/yiiplus/yii2-kvstore)[ Docs](https://github.com/yiiplus/)[ RSS](/packages/yiiplus-yii2-kvstore/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)Dependencies (3)Versions (13)Used By (2)

yii2 kvstore
============

[](#yii2-kvstore)

在YiiPlus中提供了kvstore存储的方式来对数据量大的情况下进行优化。kvstore 是以 key-&gt;value 数据结构进行存储.

1.安装
----

[](#1安装)

安装此扩展的首选方法是通过 [composer](http://getcomposer.org/download/).

执行命令

```
php composer.phar require --prefer-dist yiiplus/yii2-kvstore "^2.0.0"
```

或添加配置到项目目录下的composer.json

```
"require": {
    ...
    "yiiplus/yii2-kvstore": "^2.0.0",
    ...
}

```

2.配置
----

[](#2配置)

```
'modules' => [
    'kvstore' => [
        'class' => 'yiiplus\kvstore\Module',
        'sourceLanguage' => 'en'
    ],
    ...
],

...

'components' => [
    'i18n' => [
        'translations' => [
            '*' => [
                'class' => 'yii\i18n\PhpMessageSource'
            ],
        ],
    ],
    'kvstore' => [
        'class' => 'yiiplus\kvstore\Kvstore'
    ],
    ...
]
```

3.创建数据
------

[](#3创建数据)

```
./yii migrate --migrationPath=@yiiplus/kvstore/migrations
```

4.使用
----

[](#4使用)

#### 快速使用

[](#快速使用)

```
$kvstore = Yii::$app->kvstore;

$value = $kvstore->get('group.key');
$value = $kvstore->get('key', 'group');

$kvstore->set('group.key', 'value');
$kvstore->set('group.key', 'value');
$kvstore->set('key', 'value', 'group');
```

#### 自定义MVC模型

[](#自定义mvc模型)

```
// Model
class Site extends Model {
    public $siteName, $siteDescription;
    public function rules()
    {
        return [
            [['siteName', 'siteDescription'], 'string'],
        ];
    }

    public function fields()
    {
            return ['siteName', 'siteDescription'];
    }

    public function attributes()
    {
            return ['siteName', 'siteDescription'];
    }
}

//Controller
function actions(){
   return [
        ....
            'site-kvstore' => [
                'class' => 'yiiplus\kvstore\actions\KvstoreAction',
                'modelClass' => 'app\models\Site',
                //'group' => 'site',
                //'scenario' => 'kvstore',
                'viewName' => 'site-kvstore'
            ],
        ....
    ];
}

// Views
