云数据库 GEMINIDB-GeminiDB Redis事务处理:事务介绍
事务介绍
基本概念:
事务将应用程序的多个读、写操作捆绑在一起成为一个逻辑操作单元,是一个执行的整体,整个事务要么成功,要么失败。在一个连接中,当客户端执行multi命令后,redis开始将后续收到的命令缓存在队列中,当客户端发送exec命令时,redis按照顺序依次执行队列中的所有命令。如果有一个命令执行失败则事务回滚,所有命令要么全部成功,要么全部失败。
命令 |
含义 |
---|---|
WATCH |
用于监视一个或多个key,如果事务执行之前该key被改动,则事务被打断。 |
UNWATCH |
用于取消watch命令对所有key的监视。 |
MULTI |
用于标识一个事务块的开始。 |
EXEC |
用于执行事务块内的所有命令。 |
DISCARD |
用于取消事务块,放弃执行事务块内的所有命令。 |
注意事项:
- 使用proxy集群时,为保证事务执行的原子性,需确保事务中的所有key拥有相同的hashtag。若不使用hashtag,事务会被拆分成普通命令执行,则无法保证事务的原子性。
- 由于整个事务的执行是原子性的,要么全部成功要么全部失败,因此,在编写事务时,需要注意命令的合法性。
- 由于事务中的命令是按照顺序执行的,所以,在编写事务时,需要注意命令的先后顺序。
- 使用事务时应遵循轻量化原则,避免单次事务中打包过多命令或复杂度过高的命令,执行的事务中包含命令过多会引起请求阻塞或实例状态异常。
- GaussDB测试_GaussDB数据库测试_高斯数据库测试-华为云
- GaussDB介绍_GaussDB数据库介绍_高斯数据库介绍-华为云
- GaussDB基础概念_gaussdb是关系型数据库吗_高斯数据库基础概念_华为云
- GaussDB咋样_openGauss和GaussDB的区别_高斯数据库咋样_华为云
- GaussDB最大容量_gaussdb基于_高斯数据库最大容量_华为云
- GaussDB原理_GaussDB数据库原理_高斯数据库原理-华为云
- 国内GaussDB数据库_GaussDB介绍_国内华为高斯数据库
- GaussDB免费的吗_华为gaussdb数据库_mysql免费数据库
- RocketMQ主要应用场景有哪些_分布式消息中间件_分布式消息RocketMQ-华为云
- GaussDB引擎_GaussDB数据库引擎_高斯数据库引擎_华为云