Redis 事务

转载 2016年05月31日 21:02:57

Redis 事务

简介

Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证:

  1. 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。
  2. 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。

事务阶段

一个事务从开始到执行会经历以下三个阶段:
1. 开始事务。
2. 命令入队。
3. 执行事务。

实例

以下是一个事务的例子, 它先以 MULTI 开始一个事务, 然后将多个命令入队到事务中, 最后由 EXEC 命令触发事务, 一并执行事务中的所有命令:

redis 127.0.0.1:6379> MULTI
OK

redis 127.0.0.1:6379> SET book-name “Mastering C++ in 21 days”
QUEUED

redis 127.0.0.1:6379> GET book-name
QUEUED

redis 127.0.0.1:6379> SADD tag “C++” “Programming” “Mastering Series”
QUEUED

redis 127.0.0.1:6379> SMEMBERS tag
QUEUED

redis 127.0.0.1:6379> EXEC
1) OK
2) “Mastering C++ in 21 days”
3) (integer) 3
4) 1) “Mastering Series”
2) “C++”
3) “Programming”

Redis 事务命令

下表列出了 redis 事务的相关命令:

序号 命令及描述
1 DISCARD 取消事务,放弃执行事务块内的所有命令。
2 EXEC 执行所有事务块内的命令。
3 MULTI 标记一个事务块的开始。
4 UNWATCH 取消 WATCH 命令对所有 key 的监视。
5 WATCH key [key …] 监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。

springboot+redis+mybatis事务和引擎模板

  • 2017年09月27日 19:19
  • 29.89MB
  • 下载

Redis编程实践【pipeline和事务】

http://shift-alt-ctrl.iteye.com/blog/1863790  Redis或许已经在很多企业开始推广并试水,本文也根据个人的实践,简单描述一下Redis在...
  • bluetjs
  • bluetjs
  • 2016年11月06日 16:04
  • 1039

Sping Data Redis 使用事务时,不关闭连接的问题

项目中使用到了Redis,最后决定用spring-data-redis来开发,配置好连接池,进入使用,似乎一切正常。  配置了两块redis,一个专门做读,一个专门做些, 配置的XML文件如下,这是一...

Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍

关键字:Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍  Tags: redis, jedis, 事务, 管道, 分布式, 连接池  redis是一个著名的key-v...
  • Truong
  • Truong
  • 2015年07月01日 15:43
  • 34433

Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍

关键字:Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍  Tags: redis, jedis, 事务, 管道, 分布式, 连接池  redis是一个著名的key-v...

Redis分布式事务锁实现

Redis事务锁在不同进程需要互斥地访问共享资源时,分布式锁是一种非常有用的技术手段。本文采用Spring Data Redis实现一下Redis的分布式事务锁。...
  • wtopps
  • wtopps
  • 2017年04月25日 22:24
  • 2149

ServiceStack.Redis常用操作 - 事务、并发锁

一、事务   使用IRedisClient执行事务示例: using (IRedisClient RClient = prcm.GetClient()) { ...

spring整合redis(开启事务)

前言 redis整合spring之后 如果需要用到事务,要开启redis的事务管理,redis使用命令multi来开启一个事务,使用命令exec 来提交一个事务,redis和spring整合之后,使用...

redis中的事务、lua脚本和管道的使用场景

事务 Redis中的事务并不像MySQL中那么完美,只是简单的保证了原子性。redis中提供了四个命令来实现事务,MULTI:类似于mysql中的BEGIN;EXEC:类似于COMMIT;DIS...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Redis 事务
举报原因:
原因补充:

(最多只允许输入30个字)