我用擦redis宝石.想知道如果我这样做例如:
redis.pipelined do
REDIS.del("users:#{current_user_id}:i-unread")
REDIS.lpush("users:#{current_user_id}:i-read", items)
REDIS.ltrim("users:#{current_user_id}:i-read", 0, Interaction::MAX_INTERACTIONS)
end
字符串
这个执行顺序有保证吗?
2条答案
按热度按时间wgeznvg71#
当然顺序是有保证的,否则流水线将是无用的。你可以随时查看代码。例如,这个测试清楚地假设命令是顺序执行的:https://github.com/redis/redis-rb/blob/master/test/pipelining_commands_test.rb#L32
字符串
yc0p9oo02#
是的,这是有保证的。一般来说,redis管道并不比在内存中排队服务器响应更复杂,所以它不会改变查询的顺序。