定义
Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证:
1.事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。
2.事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。
一个事务从开始到执行会经历以下三个阶段:
1.开始事务。
2.命令入队。
3.执行事务。
for example
以下是一个事务的例子, 它先以 multi 开始一个事务, 然后将多个命令入队到事务中, 最后由 exec 命令触发事务, 一并执行事务中的所有命令:
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set username 张晓
QUEUED
127.0.0.1:6379> get username
QUEUED
127.0.0.1:6379> sadd persons-info 张咪 张冲 张明
QUEUED
127.0.0.1:6379> smembers persons-info
QUEUED
127.0.0.1:6379> exec
OK
张晓
3
张明
张咪
张冲
127.0.0.1:6379>
没啥可说的,大家都看的懂,多熟悉命令。
惟一觉得有用的东西就是Redis中对事务中一系列操作命令的队列式存储。以及事务执行的四大约束原则,也算是特性:原子性、完整性、隔离性、持久性 ,也就是ACID。
还有一点,我在学习发布订阅的时候发现如果发布的信息是中文的话,在subscribe端接收的信息是乱码,这个可以在打开客户端的时候使用./redis-cli --raw避免
博客搬家:大坤的个人博客
欢迎评论哦~