示例使用 Scala 代码,但问题与 Java 相同。
早在 Jedis 版本 2 中,您就可以在管道中使用
echo
:
import redis.clients.jedis._
object Main {
def main(args: Array[String]): Unit = {
val jedis = new Jedis("redis://localhost:6379/0")
val pipe = jedis.pipelined()
pipe.echo("Hello, Redis!")
val response = pipe.syncAndReturnAll()
println(response.get(0))
}
}
但是
echo
已从管道中删除。
唯一的替代品似乎是
pipe.sendCommand(Protocol.Command.ECHO, "Hello, Redis!")
,但这会给你一个字节数组,而不是字符串。
是否还有一种简单的方法来使用
echo
,以便它立即返回一个字符串,而我们之后不必进行转换?
您可以尝试以下方法:
pipe.sendCommand(new CommandObject(new CommandArguments(Protocol.Command.ECHO).add("Hello, Redis!"), BuilderFactory.STRING))
您还可以要求将其添加回来,最好附上对您的用例的解释。