redis - 从redis中的集合A中删除两个集合A和B的交集
问题描述
我在 Redis 中有两组 - ProcessedUrls 和 PendingUrls。我想在一个 redis 查询中执行以下操作:从 Pendings 集中删除挂起和已处理集中的所有键,然后返回 Pending 集中的 100(或任何其他数字 - X)值。
我应该通过 Lua(redis 服务器端脚本语言)吗?我认为有一个更简单的方法。
谢谢你的帮助
解决方案
您可以使用该SDIFFSTORE
命令获取差异项并将其保存回待处理集:
SDIFFSTORE PendingUrls PendingUrls ProcessedUrls
然后您可以使用SRANDMEMBER PendingUrls N
命令随机获取N
待处理集中的成员。
如果你想让这两个操作成为原子操作,请将它们包装到 Lua 脚本或事务中。
推荐阅读
- html - 如何让 CSS div 适合内容
- reactjs - 使用 React Native FlatList 时,当内容长度不同且列数超过 1 时,行之间会出现空格。有什么解决办法吗?
- java - 如何通过 Spring-boot 为特定登录用户应用 HTML 中的操作
- forms - 多个 vb 表单与 vb 表单中的选项卡控件,用于 GUI 的许多控件
- monit - 监视器未显示正确的服务状态
- vulkan - 为什么深度模板包装在同一个附件中?
- typescript - 从方法装饰器获取类引用
- snowflake-cloud-data-platform - 雪花信用使用验证
- c# - TraceProcessing IWriteFileActivity RequestedSize 与 ActualSize
- c# - 将值设置为具有随机索引的二维数组/多维矩阵,从而导致随机变化