【发布时间】:2018-07-24 02:54:51
【问题描述】:
我使用 Redis 和 Scala(rediscala 库)。我需要像这样创建一个事务:
redisTransaction.watch(key)
redisTransaction.zremrangebyscore(key, limit, limit) *>
redisTransaction.zadd(key, (someValue, entry)) *>
redisTransaction.set[ByteString](s"$lastSeqNumKey", sequenceNum) *>
redisTransaction.exec().void
最后一个表达式应该返回一个Future[Unit],如果交易失败,我希望它会失败。但是,Redis 文档指出:
使用 WATCH 时,如果执行被中止,EXEC 可以返回 Null 回复。
究竟什么是“空回复”?我的Future[Unit] 是否有可能以null 值或空字符串或类似的东西成功?我想写一个测试,我需要一些提示。
【问题讨论】: