kubill / etcd

PHP的Etcd客户端库

v1.6.2 2020-10-21 08:29 UTC

This package is auto-updated.

Last update: 2024-09-21 16:54:33 UTC


README

Build Status Latest Stable Version Total Downloads Latest Unstable Version License

PHP的Etcd客户端库

etcd是一个分布式配置系统,是CoreOS项目的一部分。

该仓库为PHP应用程序提供了etcd客户端库。

安装和运行etcd

git clone https://github.com/coreos/etcd.git
cd etcd
./build
./bin/etcd

由LinkORB工程技术团队提供

查看我们的其他项目:linkorb.com/engineering

顺便说一下,我们在招聘!

用法

客户端

实例化客户端

$client = new Client($server);

使用自定义Guzzle Client实例化客户端

$client = Client::constructWithGuzzleClient($guzzleClient, $server);

使用客户端实例

$client->set('/foo', 'fooValue');
// Set the ttl
$client->set('/foo', 'fooValue', 10);
// get key value
echo $client->get('/foo');

// Update value with key
$client->update('/foo', 'newFooValue');

// Delete key
$client->rm('/foo');

// Create a directory
$client->mkdir('/fooDir');
// Remove dir
$client->rmdir('/fooDir');    

命令行工具

设置键值

/foo/bar键上设置一个值

$ bin/etcd-php etcd:set /foo/bar "Hello world"

/foo/bar键上设置一个值,该值在60秒后过期

$ bin/etcd-php etcd:set /foo/bar "Hello world" --ttl=60

创建一个新的键/foo/bar,只有当该键之前不存在时

$ bin/etcd-php etcd:mk /foo/new_bar "Hello world"

创建一个新的目录/fooDir,只有当该键之前不存在时

$ bin/etcd-php etcd:mkdir /fooDir

更新现有的键/foo/bar,只有当该键已存在时

$ bin/etcd-php etcd:update /foo/bar "Hola mundo"

创建或更新名为/mydir的目录

$ bin/etcd-php etcd:setDir /mydir

检索键值

获取本地etcd节点中单个键的当前值

$ bin/etcd-php etcd:get /foo/bar

列出目录

使用ls命令探索键空间

$ bin/etcd-php etcd:ls
/akey
/adir
$ bin/etcd-php etcd:ls /adir
/adir/key1
/adir/key2

使用-recursive递归列出遇到的子目录。

$ bin/etcd-php etcd:ls --recursive
/foo
/foo/bar
/foo/new_bar
/fooDir

删除键

删除键

$ bin/etcd-php etcd:rm /foo/bar

删除空目录或键值对

$ bin/etcd-php etcd:rmdir /path/to/dir 

递归删除键及其所有子键

$ bin/etcd-php etcd:rmdir /path/to/dir --recursive

导出节点

$ bin/etcd-php etcd:export --server=http://127.0.0.1:2379 --format=json --output=config.json /path/to/dir

监视更改

监视键的下一个更改

$ bin/etcd-php etcd:watch /foo/bar