如果想要实现一组命令原子性的执行,一种方法是使用事务,一种方法使用redis脚本,可以对比下两种方式的区别
Redis事务回顾
事务命令:MULTI, EXEC, DIDCARD ,WATCH ,UNWATCH
使用: MULTI : 开启一个事务,并会生成一个任务队列,客户端发送的指令都会放在任务队列中,总是返回OK
EXEC: 执行任务队列中的命令,成功返回OK,失败返回nil
DIDCARD: 清空任务队列中的所有命令,并取消事务的执行
WATCH:监控一个或者多个键,如果键被修改了, 就会阻止后面一个事务的执行,但是不会阻止其他客户端对键的修改(不通过事务),所有的键的监控的取消在exec命令执行后,也可以通过执行UNWATCH命令取消对键的监控,客户端断开连接也会,取消监控