kubill / etcd
v1.6.2
2020-10-21 08:29 UTC
Requires
- php: >=5.6
- guzzlehttp/guzzle: ^6.3
- symfony/console: ^2.4 || ^3.0 || ^4.0 || ^5.0
- symfony/filesystem: ^2.4 || ^3.0 || ^4.0 || ^5.0
Requires (Dev)
- phpunit/phpunit: ^5.7
README
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