gpt4 book ai didi

redis - 比较redis命令: multi and mget

转载 作者:可可西里 更新时间:2023-11-01 11:18:40 26 4
gpt4 key购买 nike

有两个系统共享一个redis数据库,一个系统只是读取redis,另一个系统更新它。

读系统忙到redis处理不了,为了减少对redis的请求次数,我找了mget,也找了multi。

  1. 我确定 mget 会减少请求的数量,但“multi”会不会同样如此?我认为“multi”会强制redis服务器保留一些关于这个事务的信息,并从客户端一个一个地收集这个事务中的请求,所以发送的请求总数保持不变,但返回的结果会合并在一起,对吧?

  2. 那么如果我只是在“multi”中读取 KeyA、keyB、keyC 而其他写入系统更改了 KeyB 的值,会发生什么?

最佳答案

简答:您应该使用 MGET

MULTI 用于事务,不会减少请求数。此外,MULTI 命令可能 将来会被弃用,因为有更好的选择:lua 脚本

  1. So If I just read KeyA, keyB, keyC in "multi" when the other write system changed KeyB's value, what will happen?

由于 MULTI(使用 EXEC)命令确保事务处理,所有三个 GET 命令(读取操作)都以原子方式执行。如果更新发生在读取操作之前,您将获得旧值。否则,您将获得新值。

顺便说一句,还有另一个减少 RTT 的选项:PIPELINE。但是,在您的情况下,MGET 应该是最佳选择。

关于redis - 比较redis命令: multi and mget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40415923/

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