开发者学堂课程【Redis 入门到精通(进阶篇):事务-redis 事务简介】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/765/detail/13430
事务-redis 事务简介
内容介绍
一、 引入事务
二、 什么是事务
一、引入事务
1、举例说明:一个超市的收银员在盘账,一天下来收了一些零钱,正在一个一个数,这时来了一个小朋友在旁边唱了一首儿歌,“门前大桥下,游过一群鸭,快来快来数一数,二四六七八。”在数的过程中,发现收银员的面色凝重,把数的钱默默退回去了,因为她正在数钱,小朋友过来后说了几个数字,在查数的过程中被打乱了。在这个故事中提到一件事,当在做连续的工作时,如果对方进来并且打乱了或者影响到你,那么你查的结果可能是不正确的,那么只需给她一个安静的环境即可。
2、Redis 执行指令过程中,多条连续执行的指令被干扰,打断,插队;那么操作结果就会有问题。看以下现象:客户端1要发出两个指令,设置这个值,获取这个值
客户端2也发两个指令,设置一个值,获取一个值
这两个客户端有可能是两个不同的人操作,或者两个程序同时在跑,假设顺序为客户端1第一步执行完之后客户端2执行一步,那么客户端3拿到的值是哪个?这个时候客户端3拿到的就不是 itheima,而是 itcast。此时数据产生偏差,因此需要依赖事务来解决。
二、什么是事务
redis 事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体(一个队列)。当执行时,一次性按照添加顺序依次执行,中间不会被打断或者干扰。
一个队列中,一次性、顺序性排他性的执行一系列命令。