NoSql-Redis入门(事务)

定义

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避免

博客搬家:大坤的个人博客
欢迎评论哦~

上一篇:Java字节码(.class文件)的代码解析


下一篇:Redis实战(10)高级特性(2)事务与乐观锁