黄p网站_在线看中文字幕_亚洲电影免费观看_成人激情视频_欧美成视频_中国av在线

Etcd 協程客戶端

EasySwoole 提供了一個協程安全的 Etcd 協程版本客戶端,方便用戶做分布式及微服務開發。

組件要求

  • php: >= 7.1.0
  • ext-json: *
  • easyswoole/http-client: ^1.1

安裝方法

composer require easyswoole/etcd-client

倉庫地址

easy-swoole/etcd-client

使用方式

使用如下方式,先給 Etcd 客戶端注入 Config 連接配置,連接上 Etcd 服務端。

<?php
require_once 'vendor/autoload.php';

// config 默認 http://127.0.0.1:2379/v3
### 數組形式注入配置
$config = new \EasySwoole\EtcdClient\Config([
    'host'    => '127.0.0.1',
    'port'    => 6379,
    'scheme'  => 'http',
    'version' => 'v3', // v3alpha v3beta v3 v2
    'pretty'  => true,
    'ssl'     => false,
]);

### setter 形式注入配置
$config->setHost('127.0.0.1');
$config->setPort(2379);
$config->setScheme('http');
$config->setVersion('v3'); // v3alpha v3beta v3 v2
$config->setPretty(true);
$config->setSsl(false);

// 數組形式 和 setter 形式兩種寫法,最終效果是相同的

$etcd = new \EasySwoole\EtcdClient\Etcd($config);

$client = $etcd->client();

下文所用到的 $client 都是引用上述連接上的客戶端。

KV

set

<?php
go(function () use ($client) {
    // set value
    $client->put('redis', '127.0.0.1:6379');

    // set value and return previous value
    $client->put('redis', '127.0.0.1:6579', ['prev_kv' => true]);

    // set value with lease
    $client->put('redis', '127.0.0.1:6579', ['lease' => 7587822882194199413]);
});

get

<?php
go(function () use ($client) {
    // get key value
    $client->get('redis');

    // get all keys
    $client->getAllKeys();

    // get keys with prefix
    $client->getKeysWithPrefix('/v3/service/user/');
});

delete

<?php
go(function () use ($client) {
    // delete key
    $client->del('redis');
});

compaction

<?php
go(function () use ($client) {
    // compaction
    $client->compaction(7);
});

Lease

<?php
go(function () use ($client) {
    // grant with ID 0
    $client->grant(3600);

    // grant with ID
    $client->grant(3600, 7587822882194199413);

    // revoke a lease
    $client->revoke(7587822882194199413);

    // keep the lease alive
    $client->keepAlive(7587822882194199413);

    // retrieve lease information
    $client->timeToLive(7587822882194199413);
});

Auth Role User

<?php
go(function () use ($client) {
    // enable authentication
    $client->authEnable();

    // disable authentication
    $client->authDisable();

    // get auth token
    $token = $client->authenticate('user', 'password');

    // set auth token
    $client->setToken($token);

    // clear auth token
    $client->clearToken();

    // add a new role
    $client->addRole('root');

    // get detailed role information
    $client->getRole('root');

    // delete a specified role
    $client->deleteRole('root');

    // get lists of all roles
    $client->roleList();

    // add a new user
    $client->addUser('user', 'password');

    // get detailed user information
    $client->getUser('root');

    // delete a specified user
    $client->deleteUser('root');

    // get a list of all users.
    $client->userList();

    // change the password of a specified user
    $client->changeUserPassword('user', 'new password');

    // grant a role to a specified user
    $client->grantUserRole('user', 'role');

    // revoke a role of specified user
    $client->revokeUserRole('user', 'role');

    // grant a permission of a specified key or range to a specified role
    $client->grantRolePermission('admin', \EasySwoole\EtcdClient\Etcd::PERMISSION_READWRITE, 'redis');

    // revoke a key or range permission of a specified role
    $client->revokeRolePermission('admin', 'redis');
});
主站蜘蛛池模板: 国产美女网站 | 国产精品久久久久久亚洲调教 | 亚洲免费视频网 | 精品一二区 | 99pao成人国产永久免费视频 | 欧美成人精品激情在线观看 | 精品国产一区二区三区久久久 | 成人片网址 | 色狠狠一区 | 欧美国产一区二区三区 | 一级免费毛片 | 在线免费色视频 | 黄色电影天堂 | 亚洲精品成人久久久 | h视频免费观看 | 天堂中文资源在线 | 黄色电影在线免费观看 | 亚洲精品片 | 亚洲精品一区二区三区蜜桃久 | 午夜小电影 | 91精品一区二区三区久久久久久 | 亚州国产精品 | 成人精品国产 | 国产小视频网站 | 日韩中文久久 | 欧美色综合 | 亚洲成熟少妇视频在线观看 | 亚洲综合区 | 激情欧美日韩一区二区 | 精品免费 | 亚洲精品久久久久久久久久久久久 | 国产精品二区三区 | 视频二区在线观看 | 国产一区二区三区四区 | 日韩成人影院 | 亚洲欧美激情精品一区二区 | 色一情一乱一伦一区二区三区 | 欧美国产日韩一区 | 亚洲欧美综合 | 国产成人av网站 | 一区二区三区四区免费观看 |