本文摘自PHP中文网,作者藏色散人,侵删。
下面由Redis教程栏目给大家介绍关于Redis事务和pipleline,希望对需要的朋友有所帮助!1、reidis事务
Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证:
- 批量操作在发送 EXEC 命令前被放入队列缓存。
- 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。
- 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。
一个事务从开始到执行会经历以下三个阶段:
- 开始事务。
- 命令入队。
- 执行事务。
MULTI 开始一个事务, 然后将多个命令入队到事务中, 最后由 EXEC 命令触发事务, 一并执行事务中的所有命令:
1、事务执行
2、watch
监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。
3、discard
取消事务,放弃执行事务块内的所有命令。
2、jedis代码
1、配置支持事务
1
template.setEnableTransactionSupport(true);
1
<br>
2、代码:
1
2
3
4
5
6
redisTemplate.opsForValue().set(
"aaa"
, 321);
redisTemplate.watch(
"aaa"
);
redisTemplate.multi();
redisTemplate.opsForValue().set(
"aaa"
, 123);
redisTemplate.opsForValue().set(
"bbb"
, 123);
redisTemplate.
exec
();
3、pipleline
jedis 代码:
相关阅读 >>
更多相关阅读请进入《Redis》频道 >>
书籍 数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。