事务操作的命令
(1) multi
语法: multi
作用:标记一个事务的开始。事务内的多条命令会按照先后顺序被放进一个队列当中。
返回值:总是返回 ok
(2) exec
语法:exec
作用:执行所有事务块内的命令
返回值:事务内的所有执行语句内容,事务被打断,返回 nil
(3) discard
语法:discard
作用:取消事务,放弃执行事务块内的所有命令
返回值:总是返回 ok
(4) watch
语法:watch key [key …]
作用:监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,
那么事务将被打断。
返回值:总是返回 ok
(5) unwatch
语法:unwatch
作用:取消 WATCH 命令对所有 key 的监视。如果在执行 WATCH 命令之后, EXEC 命令
或 DISCARD 命令先被执行了的话,那么就不需要再执行 UNWATCH 了
返回值:总是返回 ok
总结
Redis 这种设计原则是:Redis 命令只会因为错误的语法而失败(这些问题不能在入队时发
现),或是命令用在了错误类型的键上面,失败的命令并不是 Redis 导致,而是由编程错误
造成的,这样错误应该在开发的过程中被发现,生产环境中不应出现语法的错误。就是在
程序的运行环境中不应该出现语法的错误。而 Redis 能够保证正确的命令一定会被执行。
再者不需要对回滚进行支持,所以 Redis 的内部可以保持简单且快速。