redis中也能做到一些具备事务特性的操作,它可以一次执行多个命令, 并且带有以下三个重要特征:(1)批量操作在发送 EXEC 命令前被放入队列缓存,其实就是众多命令批量操作的准备;(2)收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行,这一点不像事务,因为失败没有回滚;(3)在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中,这一点像事务,整个命令集执行不被打断。下面演示以下redis中的事务操作。
1、前提约束
- 已经安装好redis并启动,可以是单机也可以是集群 https://www.jianshu.com/p/cd2592116139
2、操作
- 打开命令行,输入以下命令,启动一个redis客户端:
# 进入家目录
cd
# 进入redis-3.2.6的src目录
cd redis-3.2.6/src
# 启动redis客户端
./redis-cli -h 127.0.0.1 -p 6379
# 开启一个事务
127.0.0.1:6379> multi
OK
# 加入一条命令到队列
127.0.0.1:6379> set name ali
QUEUED
# 加入一条命令到队列
127.0.0.1:6379> sadd sname a
QUEUED
# 加入一条命令到队列
127.0.0.1:6379> sadd sname b
QUEUED
# 加入一条命令到队列
127.0.0.1:6379> get name
QUEUED
# 加入一条命令到队列
127.0.0.1:6379> smembers sname
QUEUED
# 执行队列中的命令
127.0.0.1:6379> exec
1) OK
2) (integer) 1
3) (integer) 1
4) "ali"
5) 1) "b"
2) "a"
以上就是redis中的事务演示。
网友评论