Redis Future + Rails

Dea*_*mer 4 ruby-on-rails redis

我在我的一个rails项目中使用redis,我尝试将redis集合在一起

$redis.smembers('set1') | $redis.smembers('set2') 
Run Code Online (Sandbox Code Playgroud)

但它会抛出这样的错误

undefined method `|' for #<Redis::Future:0x000001306e5830>
Run Code Online (Sandbox Code Playgroud)

什么是Redis::Future?我正在使用redis和redis-store宝石

谢谢

Did*_*zia 6

通常在管道或事务中调用方法时返回将来的对象.

返回值仅在EXEC命令应用于Redis服务器时可用.使用redis-rb,这意味着您应该先退出流水线或多块.

如果要选择/读取数据,请在multi/exec块之前执行,并且只在multi/exec块中写入.

顺便说一句,使用$ redis.sunion()在服务器端生成结果会更有效.