为什么感觉redis队列不如mysql稳定，容易丢数据，原因何在？
目前的开发环境：php7.2 | thinkphp
1.用mysql实现的架构：
生产者：大量数据先存入mysql中间表（mysql中间表用唯一索引约束唯一性）
多个消费者：循环从mysql中间表中取数据，进行计算后存入mysql结果表
2.用redis实现的架构：
生产者：大量数据先进入redis集合（为了保证重复数据不入队列），确定能进入集合的数据再塞入redis队列
多个生产者：循环从redis队列中取数据，每取一条数据后将该数据从redis集合中删除，对数据进行计算，计算后的数据存入mysql结果表
两种架构在实际使用中发现，用纯mysql的方式实现，结果数据很稳定，没有出现丢失的情况。
而用redis的方式实现，会发现存在数据丢失的情况（即结果表里缺少数据），而且还找不到数据丢失的原因，trycatch和redis日志均无问题。用redis集合加redis队列作为中间过度的方式为什么会不稳定？原因在哪里？
首先，Redis什么时候会出现`丢数据`？
Redis持久化有两种方式`RDB`和`AOF`，它只会在重启时可能丢失数据。正常运行的情况下，是不会丢失数据的。
找不到丢失的原因？，为什么不稳定？
MySQL有ACID，强一致性事务支持。而Redis分步操作，每步都可能出问题。
`而且还找不到数据丢失的原因`
分步骤来看：
- 大量数据先进入redis集合？ 是否正常
- 再塞入redis队列？ 是否正常

`循环从redis队列中取数据，每取一条数据后将该数据从redis集合中删除，对数据进行计算，计算后的数据存入mysql结果表`
这是一个很大的步骤。最简答的方法，加日志，看看是哪里丢的数据。比如取了数据从Redis删除了，计算时出现问题，没有写MySQL。
你抛出的问题，别人很难处理。没有代码不请求具体实现，而且你没有耐心的去找原因。每个步骤都加详细的日志，不可能存在找不到原因这种问题。