我在Redis中有两组-ProcessedUrls和PendingUrls。 我想在一个Redis查询中执行以下操作: 从待处理集中删除待处理和已处理集中的所有键,然后返回待处理集中的100(或任何其他数字-X)个值。
我应该通过Lua(redis服务器端脚本语言)来做到这一点吗? 我认为有一种更简单的方法。
感谢您的帮助
答案 0 :(得分:1)
您可以使用SDIFFSTORE
命令来获取差异项并将其保存回待处理的集中:
SDIFFSTORE PendingUrls PendingUrls ProcessedUrls
然后,您可以使用SRANDMEMBER PendingUrls N
命令随机获得待定集中的N
个成员。
如果要使这两个操作原子化,请将它们包装到Lua脚本或事务中。