1 对某些操作进行防重复处理,典型场景就是服务端接受处理mq消息。
常用的办法:
1. MD5防重:对记录取MD5值,每一个操作都获取到一个唯一的值,redis对这个进行缓存,服务端接受导数据的时候通过redis进行加检验,收到重 复的数据丢弃,实现防重;
2. 在数据库加唯一索引,数据库层面操作
这种是一种十分简单但是性能不够优秀的策略,给数据库某一列添加一个唯一索引,只有一个数据能够被消费,但是会增大数据库的压了,建议 还是尽量在业务层进行防重。
3. 根据业务做防重:状态顺序,业务ID;
网友评论