为何Redis用乐观锁,而MySQL数据库却没有

为何Redis用乐观锁,而MySQL数据库却没有


森林海
浏览 738回答 3
3回答

拉莫斯之舞

Memcached是全内存的数据缓冲系统,Redis虽然支持数据的持久化,但是全内存毕竟才是其高性能的本质。作为基于内存的存储系统来说,机器物理内存的大小就是系统能够容纳的最大数据量。如果需要处理的数据量超过了单台机器的物理内存大小,就需要构建分布式集群来扩展存储能力。

婷婷同学_

redis的乐观锁又不是版本号检查,只是使用完watch命令后在服务端将监控键放入一个字典里,当前事务过程中,一旦有被监控键被修改,将会在watch表内写上dirty标志,从而给客户端返回事务失败。同样MySQL是可以做乐观锁的,表上加字段用于存版本时间戳即可,写操作前获得时间戳,写操作时把之前获得时间戳作为DML谓词条件。另外MVCC跟乐观锁关系不太一样,MVCC基本还是要将前印象保存到undo块上的,涉及一致读再构造CR块
打开App,查看更多内容
随时随地看视频慕课网APP