作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找LPOP和LPOPRPUSH作为原子操作弹出值的有效选项。
但是我有一个工作,每2秒从该列表中弹出1000个值-这是对Redis的1000个请求。
我本该使用SPOP,它可以在一个请求中返回X值。但是那些是randon的,而不是最左边的。
我确实需要从列表的左侧弹出它们。
在没有锁定和原子的情况下,最快的选择是什么?我有多个服务器访问此列表,但无法检索重复的值(这就是LRANGE对我不起作用的原因)
最佳答案
有以下选项:
EVAL
命令中弹出N个元素:EVAL 'local result = {}; for i = 1, ARGV[1] do result[i] = redis.call("lpop", KEYS[1]) end; return result' 1 key N
LPOP
命令以减少RTT。 关于redis - Redis从列表中弹出多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64828329/
我是一名优秀的程序员,十分优秀!