同步操作将从 iresty/lua-resty-etcd 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
resty-etcd Nonblocking Lua etcd driver library for OpenResty, this module supports etcd API v2.
Dependencies
install by luarocks
luarocks install lua-resty-etcd
install by source
$ luarocks install lua-resty-http lua-typeof
$ git clone https://github.com/iresty/lua-resty-etcd.git
$ cd lua-resty-etcd
$ sudo make install
syntax: cli, err = etcd.new([option:table])
option:table
host
: string - default http://127.0.0.1:2379
ttl
: int - default -1
default ttl for key operation. set -1 to disable ttl.prefix
: string
append this prefix path string to key operation url '/v2/keys'
.timeout
: int
request timeout seconds.The client methods returns either a HTTP Response Entity
or an error string
.
HTTP Response Entity
contains the following fields except 408
timeout status;
status
: number - HTTP status code.header
: table - response header if status
is not 408
timeout status.body
: string or table - response body if status
is not 408
timeout status.Note: a client method will decode a response body as a JSON string if a Content-Type
response header value is a application/json
.
local cli, err = require('resty.etcd').new()
Please refer the etcd API documentaion at - https://github.com/coreos/etcd for more details of a response entity.
syntax: res, err = cli:get(key:string)
Gets the value for key.
local res, err = cli:get('/path/to/key')
syntax: res, err = cli:set(key:string, val:JSON value [, ttl:int])
Set a key-value pair.
local res, err = cli:set('/path/to/key', 'val', 10)
syntax: res, err = cli:setnx(key:string, val:JSON value [, ttl:int])
Set a key-value pair if that key does not exist.
local res, err = cli:setnx('/path/to/key', 'val', 10)
syntax: res, err = cli:setx(key:string, val:JSON value [, ttl:int [, modified_index:uint] ])
modified_index
: uint - this argument to use to the prev_index
query of atomic operation.Set a key-value pair when that key is exists.
local res, err = cli:setx('/path/to/key', 'val', 10)
local res, err = cli:get('/path/to/key')
-- this operation will be failed if the `modified_index` of specified key
-- has already been updated by another client.
res, err = cli:setx('/path/to/key', 'val', 10, res.body.node.modifiedIndex)
syntax: res, err = cli:delete(key:string [, val:JSON value [, modified_index:uint] ])
val
: JSON value - this argument to use to the prevValue
query of atomic operation.modified_index
: uint - this argument to use to the prev_index
query of atomic operation.Deletes a key-value pair.
local res, err = cli:delete('/path/to/key')
local res, err = cli:get('/path/to/key')
-- delete key-value pair if both of `value` and `modified_index` has matched
-- to the passed arguments
res, err = cli:delete('/path/to/key', res.body.node.value,
res.body.node.modifiedIndex)
-- delete key-value pair if `value` has matched to the passed value
res, err = cli:delete('/path/to/key', res.body.node.value)
-- delete key-value pair if `modified_index` has matched to the passed
-- modifiedIndex
res, err = cli:delete('/path/to/key', nil, res.body.node.modifiedIndex)
syntax: res, err = cli:wait(key:string [, modified_index:uint [, timeout:uint] ])
modified_index
: uint - this argument to use to the prev_index
query of atomic operation.timeout
: uint - request timeout seconds. set 0 to disable timeout.Wait the update of key.
local res, err = cli:wait('/path/to/key')
local res, err = cli:get('/path/to/key')
-- Wait forever the update of key until that modifiedIndex of key has changed
-- to modifiedIndex + 1
res, err = cli:wait('/path/to/key', res.body.node.modifiedIndex + 1, 0)
-- Wait for 10 seconds the update of key until that modifiedIndex of key has
-- changed to modifiedIndex + 2
res, err = cli:wait('/path/to/key', res.body.node.modifiedIndex + 2, 10)
syntax: res, err = cli:readdir(key:string [, recursive:boolean])
recursive
: boolean - get all the contents under a directory.Read the directory.
local res, err = cli:readdir('/path/to/dir')
syntax: res, err = cli:mkdir(key:string [, ttl:int])
Creates a directory.
local res, err = cli:mkdir('/path/to/dir', 10)
syntax: res, err = cli:mkdirnx(key:string [, ttl:int])
Creates a directory if that directory does not exist.
local res, err = cli:mkdirnx('/path/to/dir', 10)
syntax: res, err = cli:rmdir(key:string [, recursive:boolean])
recursive
: boolean - remove all the contents under a directory.Remove the directory
local res, err = cli:rmdir('/path/to/dir')
syntax: res, err = cli:waitdir(key:string [, modified_index:uint [, timeout:uint] ])
modified_index
: uint - this argument to use to the prev_index
query of atomic operation.timeout
: uint - request timeout seconds. set 0 to disable timeout.local res, err = cli:waitdir('/path/to/dir')
syntax: res, err = cli:push(key:string, val:JSON value [, ttl:int])
Pushs a value into the specified directory.
local res, err = cli:mkdir('/path/to/dir')
res, err = cli:push('/path/to/dir', 'val', 10)
syntax: res, err = cli:version()
Gets the etcd version info.
syntax: res, err = cli:stats_leader()
Gets the leader statistics info.
syntax: res, err = cli:stats_self()
Gets the self statistics info.
syntax: res, err = cli:stats_store()
Gets the store statistics info.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。