文件名称:【RocksDB】TransactionDB源码分析.docx
文件大小:275KB
文件格式:DOCX
更新时间:2022-11-20 04:44:17
数据库
RocksDB的Transaction分为两类:Pessimistic和Optimistic,类似悲观锁和乐观锁的区别,PessimisticTransaction的冲突检测和加锁是在事务中每次写操作之前做的(commit后释放),如果失败则该操作失败;OptimisticTransaction不加锁,冲突检测是在commit阶段做的,commit时发现冲突则失败。 具体使用时需要结合实际场景来选择,如果并发事务写入操作的Key重叠度不高,那么用Optimistic更合适一些(省掉Pessimistic中额外的锁操作)