gpt4 book ai didi

redis - Redis从列表中弹出多个元素

转载 作者:行者123 更新时间:2023-12-03 06:44:19 24 4
gpt4 key购买 nike

我正在寻找LPOP和LPOPRPUSH作为原子操作弹出值的有效选项。
但是我有一个工作,每2秒从该列表中弹出1000个值-这是对Redis的1000个请求。
我本该使用SPOP,它可以在一个请求中返回X值。但是那些是randon的,而不是最左边的。
我确实需要从列表的左侧弹出它们。
在没有锁定和原子的情况下,最快的选择是什么?我有多个服务器访问此列表,但无法检索重复的值(这就是LRANGE对我不起作用的原因)

最佳答案

有以下选项:

  • 使用Lua脚本在单个EVAL命令中弹出N个元素:
  • EVAL 'local result = {}; for i = 1, ARGV[1] do result[i] = redis.call("lpop", KEYS[1]) end; return result' 1 key N
  • 使用Redis pipeline发送N个LPOP命令以减少RTT。
  • 关于redis - Redis从列表中弹出多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64828329/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com