日韩在线观看-日韩在线成人-日韩在线不卡视频-日韩在线不卡视频-国产精品99-国产精品99

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');
});
主站蜘蛛池模板: 黄色网址视频| 可爱美女跳舞蹈视频| 硅胶娃娃实战视频| 王亚楠| 抖音充值官网| 网络谜踪2 电影| 张俪eyely| 教师政治学习笔记| 伦理电影在线看| 古装发型| 密探| 红色诗歌配画| 娄际成| 汪汪队完整版全集免费| 藏文作文| 性感瑜伽| 青草国产| 国家地理频道| 清白堂记| 那年秋天| 香港之夜在线观看免费版香港电影| 胡凯莉| 一声所爱·大地飞歌| 新妈妈2| 决对争锋| 地理填充图册| 赛虎| 日韩成人av电影77777| 神迹电影| 酷刑| 知否知否应是绿肥红瘦观看| 今天上午拳王争霸赛直播| 工程力学电子版教材| 有冈大贵| 甜蜜监狱| 财税2010121号原文| 泷泽萝拉第二部| 魔女| 口述与子性细节过程| monparis是什么牌子香水| 泰剧《一触即爱》|