事务
MULTI 、 EXEC 、 DISCARD 和 WATCH 是 Redis 事务相关的命令。事务可以一次执行多个命令, 并且带有以下两个重要的保证:
事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。
事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。
EXEC 命令负责触发并执行事务中的所有命令:
如果客户端在使用 MULTI 开启了一个事务之后,却因为断线而没有成功执行 EXEC ,那么事务中的所有命令都不会被执行。
另一方面,如果客户端成功在开启事务之后执行 EXEC ,那么事务中的所有命令都会被执行。
当使用 AOF 方式做持久化的时候, Redis 会使用单个 write(2) 命令将事务写入到磁盘中。
然而,如果 Redis 服务器因为某些原因被管理员杀死,或者遇上某种硬件故障,那么可能只有部分事务命令会被成功写入到磁盘中。
如果 Redis 在重新启动时发现 AOF 文件出了这样的问题,那么它会退出,并汇报一个错误。
使用redis-check-aof程序可以修复这一问题:它会移除 AOF 文件中不完整事务的信息,确保服务器可以顺利启动。
从 2.2 版本开始,Redis 还可以通过乐观锁(optimistic lock)实现 CAS (check-and-set)操作,具体信息请参考文档的后半部分。Redis事务可以执行一系列的脚本,并且带有以下两个重要的保证:
批量的命令在Exec命令之前,事务中任意命令执行失败,其余的命令依然被执行。在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。
一个事务从开始到执行会经历以下三个阶段:开始-入队-执行。本文介绍下Redis事务的常用命令。
DISCARD取消事务,放弃执行事务块内的所有命令。命令的执行如下所示。先选取一段命令,然后执行该命令取消
Exec命令:执行所有的脚本命令。事务块内所有命令的返回值,按命令执行的先后顺序排列。 当操作被打断时,返回空值 nil 。
# 监视 key ,且事务成功执行。可以监控Key的值的变化以及执行事务的执行情况。
# 监视 key ,且事务执行中断。可以监控事务的执行情况,以及事务中断的情况。
Redis Multi 命令。用于标记一个事务块的开始。事务块内的多条命令会按照先后顺序被放进一个队列当中,输入完成命令之后,输入exec执行命令。
UNwatch命令用于取消事务的监视。当输入一个命令监视时,可以通过UNwatch命令,取消对命令的监视。
redis,事务,操作
更新日志
- ABC唱片-《模拟万岁.立体魔声》6N纯银镀膜[WAV+CUE]
- 叶启田.1992-唱新歌·演奏畅销金曲【吉马】【WAV+CUE】
- 品冠.2004-门没锁(引进版)【滚石】【WAV+CUE】
- 万玲琳.2020-晚安,失眠的我(EP)【灵气音乐】【WAV分轨】
- 缇ゆ槦銆婄兢鏄熸瓕鏇插悎闆嗐€媅FLAC/鍒嗚建][3.1G]
- 尚雯婕《尚雯婕歌曲合集》[320K/MP3][198MB]
- 半吨兄弟《迷人烟嗓》 [WAV+CUE][527.2MB]
- 欢乐钓鱼大师锦标赛怎么玩 欢乐钓鱼大师锦标赛玩法介绍
- 欢乐钓鱼大师怎么加好友 欢乐钓鱼大师加好友方法
- 欢乐钓鱼大师鱼竿能不能重置 欢乐钓鱼大师鱼竿重置介绍
- 浩声雅韵-《2023第十八届南宁(东盟)国际视听展》珍藏版纪念CD[WAV+CUE]
- 江淑娜1996-长夜悄悄【点将】WAV+CUE
- 王馨平.1993-LINDAWONG【宝丽金】【WAV+CUE】
- 外媒玩了50小时《哈迪斯2》!称比第一部还好玩
- 陈奕迅.2013-MUSIC.LIFE精选4CD【英皇娱乐】【WAV+CUE】