- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
有两个系统共享一个redis数据库,一个系统只是读取redis,另一个系统更新它。
读系统忙到redis处理不了,为了减少对redis的请求次数,我找了mget,也找了multi。
我确定 mget 会减少请求的数量,但“multi”会不会同样如此?我认为“multi”会强制redis服务器保留一些关于这个事务的信息,并从客户端一个一个地收集这个事务中的请求,所以发送的请求总数保持不变,但返回的结果会合并在一起,对吧?
那么如果我只是在“multi”中读取 KeyA、keyB、keyC 而其他写入系统更改了 KeyB 的值,会发生什么?
最佳答案
简答:您应该使用 MGET
MULTI
用于事务,不会减少请求数。此外,MULTI
命令可能 将来会被弃用,因为有更好的选择:lua 脚本
。
- 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/
我在命令行(终端)中使用 ftp 将多个数据文件从远程服务器传输到我的本地计算机。目录中有多个文件 (~40),我想将它们全部传输,而不必在每个文件的提示中回答是。我尝试过 mget * 但这仅传输了
我需要一些帮助来解决我在使用 NcFTP 时遇到的效率问题。如果其他程序更适合这项任务,我愿意使用其他 FTP 程序。 我需要通过 FTP 连接到远程服务器,更改到远程服务器上我需要的文件的子目录所在
我已连接到我们的一个文件服务器,并试图将文件夹下载(通过 ftp 和 mget)到本地目录。 50% 的 mget 命令成功运行,直到它到达服务器上绝对存在的 JAR 文件。它给了我以下错误: loc
我有一个 clojure 列表 ("mykey:1" "mykey:2" "mykey:3") 我想使用redis mget 获取所有键的值 (mget mykey:1 mykey:2 mykey:3
我们计划将 MGET 用于我们的一个系统。在基准测试期间,我们能够在生菜中的一次 MGET 调用中检索 100 万个键的值,这让我们感到非常惊讶。 我一直试图找到的是 MGET 的局限性。具体来说,
如果我使用 MGET 获取多个键的值,是否可以保证在处理命令期间直到 redis 返回它们之前没有任何内容可以修改请求的任何键? documentation不幸的是,没有提到这个命令的原子性。 最佳答
我正在尝试使用 mget 将多个文件从 Linux 机器复制到 Windows。文件正在下载,但我无法指定目标目录(Windows 目录) 最佳答案 mget 不允许您明确指定目标本地目录。 它总是将
我在磁盘上有一个本地 html 页面,其中包含指向子文件夹中多个图像的相关链接。我希望将此页面及其所有内容复制到不同的目录中。 Web 浏览器(例如 Firefox)提供了一个“另存为”选项来执行此操
我正在尝试使用 MS DOS ftp 脚本 (Windows 7) 从 Unix 机器获取大量文件。我对此很陌生,所以我一直在尝试修改一个在线示例。代码如下: @echo off SETLOCAL R
我正在使用 ftp 并成功连接到主机。然后我就这么做 mget test.tar.gz 即使它成功地 test.tar.gz,我也必须在另一个终端中使用 ls -l 命令手动检查文件的大小。 mge
我正在 Linux Ubuntu 服务器上运行 SFTP。 连接后我运行命令mget* 这每次都会下载文件夹中的所有内容。我想删除或重命名这些文件,这样我就不会一次又一次地重新下载相同的文件。 mge
有两个系统共享一个redis数据库,一个系统只是读取redis,另一个系统更新它。 读系统忙到redis处理不了,为了减少对redis的请求次数,我找了mget,也找了multi。 我确定 mget
我正在尝试加载我正在使用 redis 库中的 mget(r.keys()) 的 redis 数据库中的所有值。数据库中有近 100k 个键值对,每个大小约为 40kb。在 RAM 超过 64GB 的
当使用 redis-py 向 Redis 发出大型 MGET 请求(>2,000,000 个参数)时,我收到以下套接字错误: ConnectionError: Error 104 while writ
我正在尝试在 r 中编写一个简单的函数这将搜索 .GlobalEnv对于名称中具有特定模式的对象,然后获取该列表并将元素绑定(bind)到数据框中。 单独运行时,这将按预期工作: # create s
我可以使用get来获取原始函数,例如: get('$') .Primitive("$") 但是,mget 失败: mget('$') Error: value for ‘$’ not found 为什
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 12 个月前关闭。 Improve this
考虑以下示例: #include #include #include #include int main(int argc, char **argv) { redisContext *re
我有一个案例: # a = r.keys("test_*") ; a {'test_1': '1', 'test_2': '2'} # b = r.mget(a) ; b ['1', ''2] 但是t
我编写了一个批处理脚本,用于登录到我的 ftp 服务器,然后导航到一个目录。我在使用 mget 命令时遇到问题,我希望它下载目录中的每个 .dat 文件,但它只是返回此错误: Cannot acces
我是一名优秀的程序员,十分优秀!