redis实现无重复队列

Randy
  • 911

redis队列lpush rpush插入队列是没有判断重复的,如何做到有的重复的时候不插入呢??
redis是有一个集合不允许重复,他们2个如何结合起来实现呢???

回复
阅读 5.8k
3 个回答

如你所说,可以先将你的数据尝试放入 SET 中,如果没有存入,说明 SET 中就有这个数据,那就不要执行 push 命令了。
不然的话可以考虑使用 lua 完成上述功能,然后作为一个指令提供给调用方。

1、set进去的数据就是有序和不重复的,所以不会出现重复的情况
2、你每次执行成功之后就要删除集合里面的数据
3、如果执行失败就将失败的数据存放在另一个集合中使用多线程进行同步处理

簡單點,先 lrem 再 push

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏