1 / 4
文档名称:

Redis的基础事务和常用操作.docx

格式:docx   大小:38KB   页数:4页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Redis的基础事务和常用操作.docx

上传人:simple 2021/7/18 文件大小:38 KB

下载得到文件列表

Redis的基础事务和常用操作.docx

相关文档

文档介绍

文档介绍:Redis的基础事务和常用操作
和其他大部分的 NoSQL 不同,Redis 是存在事务的,尽管它没有数据库那么强大,但是它还是很有用的,尤其是在那些需要高并发的网站当中。
使用 Redis 读/写数据要比数据库快得多,如果使用 Redis 事务在某种场合下去替代数据库事务,则可以在保证数据一致性的同时,大幅度提高数据读/写的响应速度。
细心的读者也许可以发现笔者一直都很强调性能,因为互联网和传统企业管理系统不一样,互联网系统面向的是公众,很多用户同时访问服务器的可能性很大,尤其在一些商品抢购、抢红包等场合,对性能和数据的一致性有着很高的要求,而存储系统的读/写响应速度对于这类场景的性能的提高是十分重要的。
在 Redis 中,也存在多个客户端同时向 Redis 系统发送命令的并发可能性,因此同一个数据,可能在不同的时刻被不同的线程所操纵,这样就出现了并发下的数据一致的问题。为了保证异性数据的安全性,Redis 为提供了事务方案。而 Redis 的事务是使用 MULTI-EXEC 的命令组合,使用它可以提供两个重要的保证:
事务是一个被隔离的操作,事务中的方法都会被 Redis 进行序列化并按顺序执行,事务在执行的过程中不会被其他客户端发生的命令所打断。
事务是一个原子性的操作,它要么全部执行,要么就什么都不执行。
在一个 Redis 的连接中,请注意要求是一个连接,所以更多的时候在使用 Spring 中会使用 SessionCallback 接口进行处理,在 Redis 中使用事务会经过 3 个过程:
开启事务。
命令进入队列。
执行事务。
先来学****Redis 事务命令,如表 1 所示。
表 1 Redis事务命令
命 令
说 明
备 注
multi
开启事务命令,之后的命令就进入队列,而不会马上被执行
在事务生存期间,所有的 Redis 关于数据结构的命令都会入队
watch key1 [key2......]
监听某些键,当被监听的键在事务执行前被修改,则事务会被回滚
使用乐观锁
unwatch key1 [key2......] 
取消监听某些键
——
exec
执行事务,如果被监听的键没有被修改,则采用执行命令,否则就回滚命令
在执行事务队列存储的命令前,Redis 会检测被监听的键值对有没有发生变化,如果没有则执行命令, 否则就回滚事务
discard
回滚事务
回滚进入队列的事务命令,之后就不能再用 exec 命令提交了
在 Redis 中开启事务是 multi 命令,而执行事务是 exec 命令。multi 到 exec 命令之间的 Redis 命令将采取进入队列的形式,直至 exec 命令的出现,才会一次性发送队列里的命令去执行,而在执行这些命令的时候其他客户端就不能再插入任何命令了,这就是 Redis 的事务机制。
Redis 命令执行事务的过程,如图 1 所示。
图 1 Redis命令执行事务的过程
从图 1 中可以看到,先使用 multi 启动了 Redis 的事务,因此进入了 set 和 get 命令,我们可以发现它并未马上执行,而是返回了一个“QUEUED”的结果。
这说明 Redis 将其放入队列中,并不会马上执行,当命令执行到 exec 的

最近更新

电影票务行业创业计划书 34页

助理工程师年终总结考核表(22篇) 90页

初中生军训心得体会400字(五篇) 7页

元旦节活动总结中班(17篇)2 38页

五年制高职化学学情分析及教学应对 2页

互动绘本设计与游戏化思维的融合应用 2页

汽车涂装中的涂层膨胀系数与收缩性 29页

中秋节活动(10篇) 34页

六一儿童节幼儿祝福语文案40条 17页

氧化铝项目市场需求分析可行性评估报告 25页

九元素自动特快化学分析仪——材研Ⅱ型使用情.. 2页

万圣节酒吧活动策划方案内容大全(8篇) 24页

绿豆观察日记300字8篇 9页

无线技术行业创业计划书 48页

新能源电动汽车的智能车辆信息与通信系统 19页

新能源电动汽车的企业创新与品牌建设 28页

新能源汽车的智能创业与创新创造技术 25页

口才续费活动策划方案 5页

领略草原风光美丽的唯美句子通用五十一句 36页

中学生爱国主义教育现状与对策探究 2页

电工岗位培训试卷 38页

2022-2023中国工商银行年报 19页

关于个人护照未上交的情况说明 7页

小学科学教科版四年级下册第二单元《电路》复.. 3页

《乙酸》教学设计 6页

内科血液系统习题附答案 45页

干颗粒物料的安全处理的卫生设计标准 21页

人教版2019-2020学年七年级第二学期期中考试英.. 14页

医疗器械经营企业申报申请表格模板大全二类备.. 41页

十字路口交通信号灯PLC控制系统设计 43页