将多个命令请求打包,一次性、按顺序地执行,并且执行期间,服务器不会中断事务去执行其他命令
// 开启事务,后面提交的命令都加入队列中 multi // 取消事务,发生在multi之后,exec之前 discard // 执行事务,一次性、按顺序的执行队列中的命令 exec // 监控某个key,如果key被修改了,则拒绝执行事务,是一个乐观锁 watch key1 [key2] unwatch
Redis实现分布式锁
// 设置公共锁,有值则返回设置失败,无值则返回设置成功 // 设置成功,有用控制权 // 设置失败,不具有控制权 setnx lock-key value // 操作完 del lock-key // 超时释放的锁 setnx lock-key value expire lock-key second