在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/人工智能  網(wǎng)絡(luò)安全/ storm實(shí)時(shí)流處理中如何利用redis去除重復(fù)數(shù)據(jù)?

storm實(shí)時(shí)流處理中如何利用redis去除重復(fù)數(shù)據(jù)?

1.storm處理上網(wǎng)行為日志數(shù)據(jù)(單條日志時(shí)間戳很接近),同一用戶30天內(nèi)不重復(fù)發(fā)送消息,我使用redis去重,由于storm高并發(fā)的機(jī)制,當(dāng)我設(shè)置redis bolt的并發(fā)度大于1的時(shí)候,結(jié)果數(shù)據(jù)總是會(huì)有重復(fù)的情況,時(shí)間基本相同或很接近。如:
第一組:
201711|08|ID01XXXXXXXX|INTERNATIONALPORT|TEST001|2017-11-08 21:38:45
201711|08|ID01XXXXXXXX|INTERNATIONALPORT|TEST001|2017-11-08 21:33:43
第二組:
201711|09|ID02XXXXXXXX|INTERNATIONALPORT|TEST001|2017-11-09 05:59:45
201711|09|ID02XXXXXXXX|INTERNATIONALPORT|TEST001|2017-11-09 05:59:45
2.嘗試的解決辦法,將redis bolt的并發(fā)度設(shè)置為1,可以解決以上問(wèn)題,實(shí)際需求并不希望這樣做,將redis bolt設(shè)置為1之后,可能成為整個(gè)storm程序的性能瓶頸(雖然到這里數(shù)據(jù)量已經(jīng)不是很大了)
3.請(qǐng)假一下有沒(méi)有什么好的辦法可以在高并發(fā)下實(shí)現(xiàn)30天內(nèi)對(duì)同一個(gè)用戶不重復(fù)發(fā)送消息?

回答
編輯回答
我不懂

直接為每個(gè)用戶設(shè)置一個(gè)事件鎖不就成了,發(fā)了直接設(shè)置當(dāng)前用戶的事件鎖并且失效時(shí)間30天,每次發(fā)送check一下鎖存不存在。

2017年5月9日 23:45