rredis嵌套调用导致错误.redisError("无效的参数")在redisZRange()中(以及可能还有其他函数)

时间:2017-11-23 15:00:05

标签: r redis

具有以下排序集(仅用于测试)

library(rredis)
redisConnect()

redisZAdd("AsomepossiblychangedtextSensor", 1, "w")
redisZAdd("AsomepossiblychangedtextSensor", 1, "x")
redisZAdd("AsomepossiblychangedtextSensor", 2, "y")

可以使用

选择它
redisZRange("AsomepossiblychangedtextSensor")

想象一下" A"之间的文字。和#34;传感器"可以更改一个可以显示密钥的名称,如下所示:

redisKeys("A*Sensor")

返回全名" AsomepossiblychangedtextSensor"。 如果我想结合它并显示这个集合

redisZRange(redisKeys("A*Sensor"))

返回错误

.redisError("Invalid argument") : Invalid argument

这是由f <- match.call()中的.redisCmd引起的redisKeys来自ak <- redisKeys("A*Sensor") redisZRange(ak)

可以通过将密钥存储在R对象中来解决(解决方法)

# We use match.call here instead of, for example, as.list() to try to 
# avoid making unnecessary copies of (potentially large) function arguments.

这个问题有更好的解决方案吗?在评论中我们看到了

{Key key;foo(&key);}

0 个答案:

没有答案