483 Star 4.4K Fork 1.7K

ssssssss-team / magic-api

 / 详情

resource.type=redis时,无法删除接口、数据源失败。KeyValueResource.delete()有问题

已完成
创建于  
2021-04-13 14:31

1、resource.type=redis时,无法删除接口、数据源失败。KeyValueResource.delete()有问题
2、RedisResource.keys()会遍历所有的KEY,如果数据量很大,生产环境可能会出问题。建议修改

评论 (10)

cycmy2001 创建了任务
cycmy2001 关联仓库设置为ssssssss-team/magic-api
展开全部操作日志

遍历key这个是没办法避免的,启动就要读取一遍的。
无法删除这个问题待测试验证一下。。

删除的时候已经可以得到 RedisResource 对象了,建议直接利用path属性删除就好。不要再次遍历所有key了。望采纳 :blush:

删除时遍历的应该是这个目录下的吧。需要扫描出有哪些key然后进行删除。

输入图片说明
好像是遍历所有的key :sweat:
ScanOptions options = new ScanOptions.ScanOptionsBuilder()
.count(Long.MAX_VALUE).match((isDirectory() ? this.path : (this.path + separator)) + "*")
.build();

删除时,这个this.path 是不一样的,不是从magic-api:开始遍历的,你可以打个断点看看。

删除的时候,实际就是确切的key。所以建议直接根据key删除就好。 :blush: 输入图片说明

下次加个判断吧 :joy: 这里主要还是省事了,目录的话还是需要遍历的。

问题已复现,dev分支已修改,测试后正常。

cycmy2001 任务状态待办的 修改为进行中
cycmy2001 任务状态进行中 修改为已完成

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
297689 jmxd 1578919598
Java
1
https://gitee.com/ssssssss-team/magic-api.git
git@gitee.com:ssssssss-team/magic-api.git
ssssssss-team
magic-api
magic-api

搜索帮助

344bd9b3 5694891 D2dac590 5694891