1. put
put #将给定的key写入到存储 --ignore-lease[=false] #使用当前租约更新key --ignore-value[=false] #使用当前值更新key --lease="0" # 要附加到key的租约ID(十六进制) --prev-kv[=false] # 返回修改前的上一个键值对
2. get
get #获取给定key或给定范围的key --consistency="l" # 'l' 代表线性读(执行raft), 's' 代表串行化读 --count-only[=false] # 仅获取计数 --from-key[=false] #使用byte值比较获取大于或等于给定键的键,类似*key*,但不等于 --keys-only[=false] # 仅获取key --limit=0 #最大结果数 --order="" #结果排序,ASCEND 或 DESCEND (默认 ASCEND) --prefix[=false] # 获取具有匹配前缀的key,key* --print-value-only[=false] #用“simple”输出格式时仅打印值 --rev=0 #指定kv版本 --sort-by="" # 指定排序字段,CREATE, KEY, MODIFY, VALUE, or VERSION
get范围查找时是一个半开区间,半开区间[name2, name4)
3. del
del #删除指定的键或键范围 --from-key[=false] # 删除大于等于给定key的所有key(按byte值比较) --prefix[=false] # 按前缀匹配删除 --prev-kv[=false] # 删除后是否返回被删除的键值对
4. lease(租约)
lease grant # 创建租约 lease keep-alive # 开启线程,自动续约 --once[=false] # 仅续约一次 lease list #列出所有活动的租约 lease revoke #撤销租约 lease timetolive # 获取租约信息 --keys[=false] #获取附加到此租约的key
服务器通过keep-alive一直向发送续约,保持活跃,当服务器宕机了,则不会续约了,客户端在有效期时间后会收到宕机信息,知道服务端挂掉了。
通过keep-alive查看租约是否存活
5. txn(事务)
事务API由 if 语句、then语句、else语句组成。基本逻辑:在 If 语句中,可以添加一系列的条件表达式,若条件表达式全部通过检查,则执行 Then 语句的 get/put/delete 等操作,否则执行 Else 的 get/put/delete等操作,支持比较运算符 (>、<、=、!=)
if语句支持项:
- key 的最近一次修改版本号 mod_revision,简称 mod,可以用于检查 key 最近一次被修改时的版本号是否符合你的预期。例如:mod(“key1”) = “111902”,检查key1最近一次修改版本号是否等于 111902
- key 的创建版本号 create_revision,简称 create,可以用于检测 key 是否已存在。例如:create(“key”)= “0”,来判断key1是否存在,不存在的话 create_revision 版本号就是0。
- key 的修改次数 version;可以用于检查 key 的修改次数是否符合预期。例如:version(“key1”) > “3”,来判断key1的修改次数是否大于3次
- key 的值,可以用于检查 key 的 value 值是否符合预期。例如:value(“key1”) = “value1”,来判断key1的值是否等于 value1
watch(事件监听)
watch #监听键值或前缀的事件流 -i, --interactive[=false] # 交互式模式 --prefix[=false] # 监听前缀 --prev-kv[=false] # 获取事件发生前的上一个键值对 --progress-notify[=false] # 从服务器获取定期监视进度通知 --rev=0 # 从指定版本开始监听
终端1监听aries
终端2执行一些修改删除指令
watch可以监控key的更改,以及删除动作。