事务控制-android单元测试之对activity的测试示例

时间:2024-06-29 13:28:21
【文件属性】:

文件名称:事务控制-android单元测试之对activity的测试示例

文件大小:2.97MB

文件格式:PDF

更新时间:2024-06-29 13:28:21

redis

4.3 事务控制 redis 对事务的支持目前还比较简单。redis 只能保证一个 client 发起的事务中的命令可以连 续的执行,而中间不会插入其他 client 的命令。 由于 redis 是单线程来处理所有 client 的请 求的所以做到这点是很容易的。一般情况下 redis 在接受到一个 client 发来的命令后会立即 处理并 返回处理结果,但是当一个 client 在一个连接中发出 multi 命令有,这个连接会进入 一个事务上下文,该连接后续的命令并不是立即执行,而是先放到一个队列中。当从此连接 受到 exec 命令后,redis 会顺序的执行队列中的所有命令。并将所有命令的运行结果打包到 一起返回给 client.然后此连接就 结束事务上下文。 4.3.1 简单事务控制 下面可以看一个例子 redis 127.0.0.1:6379> get age "33" redis 127.0.0.1:6379> multi OK redis 127.0.0.1:6379> set age 10 QUEUED redis 127.0.0.1:6379> set age 20 QUEUED redis 127.0.0.1:6379> exec 1) OK 2) OK redis 127.0.0.1:6379> get age "20" redis 127.0.0.1:6379> 从这个例子我们可以看到 2 个 set age 命令发出后并没执行而是被放到了队列中。调用 exec 后 2 个命令才被连续的执行,最后返回的是两条命令执行后的结果。 4.3.2 如何取消一个事务 我们可以调用 discard 命令来取消一个事务,让事务回滚。接着上面例子 redis 127.0.0.1:6379> get age "20" redis 127.0.0.1:6379> multi OK redis 127.0.0.1:6379> set age 30 QUEUED redis 127.0.0.1:6379> set age 40 QUEUED


网友评论