携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第20天,点击查看活动详情
DEL语法
DEL key id
删除指定的对象。
-
示例:
127.0.0.1:9851> SET fleet truck1 POINT 116.578497 39.868634 {"ok":true,"elapsed":"17.493µs"} 127.0.0.1:9851> GET fleet truck1 {"ok":true,"object":{"type":"Point","coordinates":[39.868634,116.578497]},"elapsed":"14.437µs"} 127.0.0.1:9851> DEL fleet truck1 {"ok":true,"elapsed":"11.662µs"} 127.0.0.1:9851> GET fleet truck1 (error) id not found1.我们先设置一个
id=truck1的POINT数据;2.通过查询语句可以确定我们设置好的数据;
3.通过
DEL删除数据;4.通过
GET确定是否真的被删除;
JDEL语法
JDEL key id path
JDEL命令用来操作JSON文档的,它可以根据提供的path来删除JSON文档里面的数据;
-
示例:
127.0.0.1:9851> JSET user 901 name.first Tom {"ok":true,"elapsed":"53.761µs"} 127.0.0.1:9851> JSET user 901 name.last Anderson {"ok":true,"elapsed":"33.783µs"} 127.0.0.1:9851> JGET user 901 {"ok":true,"value":"{"name":{"first":"Tom","last":"Anderson"}}","elapsed":"26.67µs"} 127.0.0.1:9851> JDEL user 901 name.last {"ok":true,"elapsed":"68.749µs"} 127.0.0.1:9851> JGET user 901 {"ok":true,"value":"{"name":{"first":"Tom"}}","elapsed":"16.942µs"}1.通过
JSET创建JSON文档{"name":{"first":"Tom"}};2.通过
JSET给文档添加last字段:{"name":{"first":"Tom","last":"Anderson"}};3.
JGET查询确定添加后的结果;4.通过
JDEL命令删除文档中的指定字段name.last;5.查询删除后的结果:
`{"name":{"first":"Tom"}};
PDEL语法
PDEL key pattern
PDEL使用正则表达式来匹配id字段来删除目标数据;
-
示例:
127.0.0.1:9851> SET fleet truck1 POINT 116.582268 39.867757 {"ok":true,"elapsed":"22.141µs"} 127.0.0.1:9851> SET fleet hello POINT 116.577703 39.867514 {"ok":true,"elapsed":"16.842µs"} 127.0.0.1:9851> SET fleet truco POINT 116.578497 39.868634 {"ok":true,"elapsed":"14.938µs"} 127.0.0.1:9851> SCAN fleet {"ok":true,"objects":[{"id":"hello","object":{"type":"Point","coordinates":[39.867514,116.577703]}},{"id":"truck1","object":{"type":"Point","coordinates":[39.867757,116.582268]}},{"id":"truco","object":{"type":"Point","coordinates":[39.868634,116.578497]}}],"count":3,"cursor":0,"elapsed":"74.791µs"} 127.0.0.1:9851> PDEL fleet truc* {"ok":true,"elapsed":"14.978µs"} 127.0.0.1:9851> SCAN fleet {"ok":true,"objects":[{"id":"hello","object":{"type":"Point","coordinates":[39.867514,116.577703]}}],"count":1,"cursor":0,"elapsed":"81.773µs"}1.
SET命令先准备好数据;2.通过
SCAN命令确定数据没有问题,一共是三个点位的数据;3.通过
PDEL删除id以truc开头的数据;4.通过
SCAN命令查看删除后的结果,最后只剩下一个点位的数据;
DELCHAN语法
DELCHAN name
删除指定的频道;这个所谓的频道就是用来接收相关事件的,发布到频道上面的事件可以被客户端订阅消费;
-
示例:
127.0.0.1:9851> SETCHAN warehouse NEARBY fleet FENCE POINT 33.5123 -112.2693 500 {"ok":true,"elapsed":"78.688µs"} 127.0.0.1:9851> CHANS warehouse {"ok":true,"chans":[{"name":"warehouse","key":"fleet","ttl":-1,"command":["NEARBY","fleet","FENCE","POINT","33.5123","-112.2693","500"],"meta":{}}],"elapsed":"16µs"} 127.0.0.1:9851> DELCHAN warehouse {"ok":true,"elapsed":"20.719µs"} 127.0.0.1:9851> CHANS warehouse {"ok":true,"chans":[],"elapsed":"6.362µs"}1.先通过
SETCHAN命令创建一个warehouse名称的频道;目标点500米范围内的,fleet中的任何数据对象在该范围内有变动,都会把相关事件发送到该频道;2.
CHANS命令确定创建的频道没有问题;3.使用
DELCHAN删除warehouse频道;4.确定
warehouse频道删除成功;
PDELCHAN语法
PDELCHAN pattern
有了前面的经验,这个命令我们就很容易就猜出来了:根据正则表达式来删除目标频道。
-
示例:
127.0.0.1:9851> SETCHAN warehouse NEARBY fleet FENCE POINT 33.5123 -112.2693 500 {"ok":true,"elapsed":"78.688µs"} 127.0.0.1:9851> SETCHAN house NEARBY fleet FENCE POINT 33.5123 -112.2693 500 {"ok":true,"elapsed":"88.075µs"} 127.0.0.1:9851> CHANS warehouse {"ok":true,"chans":[{"name":"warehouse","key":"fleet","ttl":-1,"command":["NEARBY","fleet","FENCE","POINT","33.5123","-112.2693","500"],"meta":{}}],"elapsed":"16µs"} 127.0.0.1:9851> CHANS house {"ok":true,"chans":[{"name":"house","key":"fleet","ttl":-1,"command":["NEARBY","fleet","FENCE","POINT","33.5123","-112.2693","500"],"meta":{}}],"elapsed":"23.494µs"} 127.0.0.1:9851> PDELCHAN ware* {"ok":true,"elapsed":"20.719µs"} 127.0.0.1:9851> CHANS warehouse {"ok":true,"chans":[],"elapsed":"6.362µs"} 127.0.0.1:9851> CHANS house {"ok":true,"chans":[{"name":"house","key":"fleet","ttl":-1,"command":["NEARBY","fleet","FENCE","POINT","33.5123","-112.2693","500"],"meta":{}}],"elapsed":"23.494µs"}1.先通过
SETCHAN命令创建一个warehouse名称的频道;目标点500米范围内的,fleet中的任何数据对象在该范围内有变动,都会把相关事件发送到该频道;2.另外再创建一个
house频道;2.
CHANS命令确定创建的频道没有问题;3.使用
PDELCHAN删除名称以ware开头的频道;4.确定名称以
ware开头的频道删除成功;5.
CHANS查看house频道还存在;
DELHOOK语法
DELHOOK name
和CHAN一样,HOOK是另外一种形式的监测形式,HOOK就是指定一个目标回调接口,有任何的事件都调用这个目标接口。
-
示例:
127.0.0.1:9851> SETHOOK warehouse http://10.0.20.78/endpoint NEARBY fleet FENCE POINT 33.5123 -112.2693 500 {"ok":true,"elapsed":"104.456µs"} 127.0.0.1:9851> HOOKS warehouse {"ok":true,"hooks":[{"name":"warehouse","key":"fleet","ttl":-1,"endpoints":["http://10.0.20.78/endpoint"],"command":["NEARBY","fleet","FENCE","POINT","33.5123","-112.2693","500"],"meta":{}}],"elapsed":"23.033µs"} 127.0.0.1:9851> DELHOOK warehouse {"ok":true,"elapsed":"31.941µs"} 127.0.0.1:9851> HOOKS warehouse {"ok":true,"hooks":[],"elapsed":"24.506µs"}1.通过
SETHOOK创建一个warehouse为名称的HOOK;2.查询
warehouseHOOK创建成功;3.删除
warehouseHOOK;4.查询是否还存在
warehouseHOOK;
PDELHOOK语法
PDELHOOK pattern
PDELHOOK很明确,就是通过正则表达式来删除目标HOOK;
-
示例:
127.0.0.1:9851> SETHOOK warehouse http://10.0.20.78/endpoint NEARBY fleet FENCE POINT 33.5123 -112.2693 500 {"ok":true,"elapsed":"104.456µs"} 127.0.0.1:9851> SETHOOK house http://127.0.0.1/endpoint NEARBY fleet FENCE POINT 33.5123 -112.2693 500 {"ok":true,"elapsed":"98.134µs"} 127.0.0.1:9851> HOOKS warehouse {"ok":true,"hooks":[{"name":"warehouse","key":"fleet","ttl":-1,"endpoints":["http://10.0.20.78/endpoint"],"command":["NEARBY","fleet","FENCE","POINT","33.5123","-112.2693","500"],"meta":{}}],"elapsed":"23.033µs"} 127.0.0.1:9851> HOOKS house {"ok":true,"hooks":[{"name":"house","key":"fleet","ttl":-1,"endpoints":["http://127.0.0.1/endpoint"],"command":["NEARBY","fleet","FENCE","POINT","33.5123","-112.2693","500"],"meta":{}}],"elapsed":"23.904µs"} 127.0.0.1:9851> PDELHOOK ware* {"ok":true,"elapsed":"31.941µs"} 127.0.0.1:9851> HOOKS warehouse {"ok":true,"hooks":[],"elapsed":"24.506µs"} 127.0.0.1:9851> HOOKS house {"ok":true,"hooks":[{"name":"house","key":"fleet","ttl":-1,"endpoints":["http://127.0.0.1/endpoint"],"command":["NEARBY","fleet","FENCE","POINT","33.5123","-112.2693","500"],"meta":{}}],"elapsed":"23.904µs"}1.通过
SETHOOK创建两个不同的HOOK,一个名称叫warehouse,一个叫house;2.确定两个
HOOK都创建成功,没有问题;3.通过
PDELHOOK命令删除以ware开头的HOOK;4.再次查看,发现
warehouse被删除,而house作为名称的HOOK没有被删除;
PERSIST语法
PERSIST key id
删除指定id数据对象里面的超时设置,也就是EX配置;执行PERSIST后,目标id对应的TTL字段值为-1;
-
示例:
127.0.0.1:9851> SET fleet time EX 10 POINT 116.578497 39.868634 {"ok":true,"elapsed":"17.873µs"} 127.0.0.1:9851> TTL fleet time {"ok":true,"ttl":7.895136745,"elapsed":"8.877µs"} 127.0.0.1:9851> PERSIST fleet time {"ok":true,"elapsed":"5.51µs"} 127.0.0.1:9851> TTL fleet time {"ok":true,"ttl":-1,"elapsed":"4.709µs"}1.先创建一个带有
EX属性的time名称的数据对象;2.使用
TTL命令确定剩余的过期时间;3.使用
PERSIST删除time的EX配置;4.再次查看过期时间,已经变为-1;
DROP语法
DROP key
DROP直接删除一组数据对象;
-
示例:
127.0.0.1:9851> SET fleet truck1 POINT 116.578497 39.868634 127.0.0.1:9851> SET fleet truck2 POINT 116.577703 39.867514 127.0.0.1:9851> SCAN fleet {"ok":true,"objects":[{"id":"truck1","object":{"type":"Point","coordinates":[39.868634,116.578497]}},{"id":"truck2","object":{"type":"Point","coordinates":[39.867514,116.577703]}}],"count":2,"cursor":0,"elapsed":"81.944µs"} 127.0.0.1:9851> DROP fleet {"ok":true,"elapsed":"9.067µs"} 127.0.0.1:9851> SCAN fleet {"ok":true,"objects":[],"count":0,"cursor":0,"elapsed":"12.604µs"}1.先在
fleet中创建两个点位truck1、truck2;2.
SCAN命令确定fleet中的点位都创建成功;3.使用
DROP命令删除fleet;4.确定删除操作成功;
FLUSHDB语法
FLUSHDB
删除所有的键,该操作不需要带任何参数;其实就是清空数据库。
【注意】:这个命令将删除所有的数据。