西安网站建设问问q778925409耍強,南昌做网站多少钱,网站做百度排名,看网站用什么软件redis也支持事务#xff0c;但与MySQL等关系型数据库相比#xff0c;redis的事务比较简单。
一、redis事务的特点 1、redis的事务是一组命令集合 可以把redis的事务看成一个命令的缓存#xff0c;把一组要执行的命令添加到集合中#xff0c;然后按顺序一起执行。
2、redi…redis也支持事务但与MySQL等关系型数据库相比redis的事务比较简单。
一、redis事务的特点 1、redis的事务是一组命令集合 可以把redis的事务看成一个命令的缓存把一组要执行的命令添加到集合中然后按顺序一起执行。
2、redis事务没有隔离级别 由于redis是单线程的下一个命令必须在上一个命令完成后才会执行。因此不会有多个事务同时执行的情况因此也就不需要定义隔离级别。
3、redis事务不保证原子性 redis的单条命令是保证原子性的但是事务不保证原子性即事务中某个命令的失败不会影响其它命令的执行和结果。
二、事务的实现步骤 1、开启事务
multi命令用于开启一个事务此命令没有参数
2、添加命令 编写要执行的数据库操作命令
3、执行事务或取消事务
1使用exec命令执行事务
示例 multi set str1 字符串1 set str2 字符串2 exec 2使用discard命令取消事务 multi set str1 字符串1 set str2 字符串2 discard 三、事务监听 事务监听可以用于做为事务锁乐观锁使用当另一个程序修改了某个key的值时当前事务会被中断执行。
1、开启监听 在事务创建之前使用watch命令可以监听key的变化当使用exec开始执行事务时会检查被监听的key是否有变化如果有变化则中断事务的执行。
语法 watch key [key...] 2、取消监听 当事务已开始执行或是取消则会自动取消监听也可以使用unwatch命令手动结束监听。
示例 watch str1 multi set str1 字符串1 unwatch //取消监听后面必须还有语句否则无效 set str2 字符串2 exec //因在执行前修改了str1的值执行会被中断 //在另一个命令行窗口执行以下命令此命令需要在exec之前执行 set str1 字符串11 文章来源于哔站《Redis的事务管理》
更多学习视频和专栏文章请到哔站个人空间 布道师学院的个人空间-布道师学院个人主页-哔哩哔哩视频
更多资源和项目下载请到”开源吧找实战项目和毕设项目的好网站“ 开源吧