Redis 之 事务

事务是单个步骤中执行一组命令

事务中的所有命令作为单个隔离操作并按顺序执行。不可以在执行Redis事务的中间向另一个客户端发出的请求。

Redis事务也是原子的。原子意味着要么处理所有命令,要么都不处理。

使用事务

#启动事务:MULTI 
命令列表
执行事务:EXEC

其他命令:

DISCARD:丢弃在MULTI之后发出的所有命令
WATCH(给一个键加锁,乐观锁):监视给定的键以确定事务块的执行
UNWATCH:解锁

备注:

  • 开启事务时使用watch加锁
    watch key — 加锁key
    unwatch — 解锁被加锁的key

  • 如果事务执行失败,解锁在操作

  • 编译错误:命令写错了,所有命令都不执行

  • 运行时错误:命令不能执行,其他命令依然执行(即进了队列就会执行事务)

springboot使用的redis插件

jedis:采用直连,多个线程操作的话,不安全。可以使用jedis pool解决这个问题。
lettuce: 线程共享,2.x以后默认使用

发布了193 篇原创文章 · 获赞 13 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/u013919153/article/details/105601909