递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 10065|回复: 10
打印 上一主题 下一主题

[视窗] 请问这个去重循环有没有优化空间或者更好的写法

[复制链接]

10

主题

41

帖子

218

积分

中级会员

Rank: 3Rank: 3

积分
218
跳转到指定楼层
楼主
发表于 2021-7-14 17:54:44 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式


上面是JSON解析出来的数据,循环解析单次50条数据大概要花3秒,可以接受,到这边redis入库去重,去重的时候执行完毕大约11-13秒,有点难搞,大佬们有没有好的方法?
回复

使用道具 举报

12

主题

50

帖子

392

积分

中级会员

Rank: 3Rank: 3

积分
392
沙发
发表于 2021-7-14 19:15:03 | 只看该作者
枚举循环要好一点
回复

使用道具 举报

87

主题

953

帖子

4909

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4909
板凳
发表于 2021-7-14 19:44:28 | 只看该作者
去重可以用哈希表呀
回复

使用道具 举报

10

主题

41

帖子

218

积分

中级会员

Rank: 3Rank: 3

积分
218
地板
 楼主| 发表于 2021-7-14 20:15:00 | 只看该作者
小蜗牛 发表于 2021-7-14 19:44
去重可以用哈希表呀

我需要入库  多终端使用
回复

使用道具 举报

28

主题

360

帖子

3335

积分

论坛元老

Rank: 8Rank: 8

积分
3335
5#
发表于 2021-7-14 21:36:22 | 只看该作者
换个方法去重.
回复

使用道具 举报

3

主题

134

帖子

2368

积分

金牌会员

Rank: 6Rank: 6

积分
2368
6#
发表于 2021-7-14 22:45:30 | 只看该作者
没太看懂你的具体需求。

redis 的 set 集合本来就是唯一的 不需要去重呀。直接 SADD my {value} 就行了。、
比如执行 SADD my test1;  SADD my test2; SADD my test1。
最后 my 集合只有两个元素:test1 和 test2,不会出现两个 test1 的。
回复

使用道具 举报

10

主题

41

帖子

218

积分

中级会员

Rank: 3Rank: 3

积分
218
7#
 楼主| 发表于 2021-7-15 08:22:47 | 只看该作者
0晨鹤0 发表于 2021-7-14 22:45
没太看懂你的具体需求。

redis 的 set 集合本来就是唯一的 不需要去重呀。直接 SADD my {value} 就行了。 ...

我是上头出新数据  然后调用这个方法来对比数据库里面的去重, 需要单条单条对比,虽然是在线程里面,但是还是太慢了
回复

使用道具 举报

3

主题

134

帖子

2368

积分

金牌会员

Rank: 6Rank: 6

积分
2368
8#
发表于 2021-7-15 09:37:24 来自手机 | 只看该作者
a2521298 发表于 2021-7-15 08:22
我是上头出新数据  然后调用这个方法来对比数据库里面的去重, 需要单条单条对比,虽然是在线程里面,但 ...

还是不懂。但是可以给你一个方案,数据库查出后转成set,不要用列表。然后通过判断set中是否含有某元素就行了。也就是楼上说的哈希表。
回复

使用道具 举报

18

主题

337

帖子

2929

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2929
9#
发表于 2021-7-15 09:54:44 来自手机 | 只看该作者
我也看不懂,取出数据库数据一条一条对比有什么意义?虽然我没有用过redis数据库,但是数据库的优势不就是cha询快吗?直接cha询数据库没有重复的添加,有的不管不就行了,为何还要取出来一条条对比,意义何在?
回复

使用道具 举报

47

主题

886

帖子

4156

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
4156
10#
发表于 2021-7-15 10:10:38 | 只看该作者
数据库不都有查重, 去重,删重功能吗?  MYSQL,MS ACC 我用得比较多,都有这个功能的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-29 06:20 , Processed in 0.098511 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表