scala – Redis中的“Null回复”究竟是什么?
我使用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文档指出:
究竟什么是“空回复”?我的Future [Unit]是否可能使用null值或空String或类似的东西成功?我想写一个测试,我需要一些关于它的提示. 解决方法
一次更正,redisTransaction.exec()上没有void方法.
简短回答: 如果事务失败或执行中止,exec()调用将返回Future(MultiBulk(None)). 答案很长: 正如文件所说,
并链接到NULL reply的解释
这表明服务器将回复NULL响应,客户端必须处理它.它不能是一个空字符串,在这个库中它被解码为&将来自服务器的响应映射为MultiBulk(无) 有一个test case用于解码redis的NULL响应. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- angularjs – UI-Router中自动滚动的平滑滚动
- scala – 依赖于路径的类型 – 以下代码有什么问题?
- angularjs – Angular $parent和$parent.$parent在使用ng-r
- vim编辑器
- 例子三:使用servicemix-cxf-bc组件代理WebService
- emacs – 如何在后台执行shell命令?
- shell – 我可以在某个地方运行某些命令,然后给我自己一个提
- Angular待办事项应用4——模拟web服务
- 一个控制器中的AngularJS window.onbeforeunload正在另一个
- shell – node.js – 向子进程发送密钥快捷方式