我有一个 redis 数据存储,其中存储了唯一键。现在,我的应用服务器将向 redis 发送多个请求,以便从一开始就获取大约 100 个密钥,我打算使用 LRANGE 命令来实现相同的目的。
但我的要求是每个请求都应该收到一组唯一的键,这意味着如果一个请求去 redis 获取 100 个键,那么这些键将永远不会返回给任何请求。
正如我看到的 redis 操作是原子的,所以我可以假设如果有多个请求同时来自应用服务器到 redis,因为 redis 是单线程的,所以它会执行 LRANGE mylist 0 100
并且一旦它是完成(意味着一旦取了 100 个键并从列表中删除),只有这样下一个请求才会被处理,所以原子性是内置的,对吗?
有没有可能在任何情况下两个请求都可以得到相同的 100 个密钥?