引言 MyISAM不支持事务。 MyISAM与InnoDB关于锁方面的区别是什么 MyISAM默认使用的是表级锁,不支持行级锁。 InnoDB默认使用的是行级锁,也支持表级锁。 读锁/共享锁:其他session可以读,但…
标签:锁
一个游戏拨账系统的数据库结算设计
假设现存在一个简单的猜大小游戏,由用户下注大或者小,扣除手续费3%后的钱全部放入奖池中,赢的一方按投注比例平分整个奖池。使用mysql作为数据库,系统精度精确到1位小数。 本文将会讲解其中会出现的业务结算导致的数据问题,…
Mysql 共享锁(lock in share mode),排他锁(for update)
共享锁(lock in share mode) 简介 允许不同事务之前共享加锁读取,但不允许其它事务修改或者加入排他锁如果有修改必须等待一个事务提交完成,才可以执行,容易出现死锁 共享锁事务之间的读取 session1:…
分布式锁的redis缓存使用方式
基于缓存的分布式锁(公司大牛内部文章分享)目前有很多成熟的缓存产品,包括Redis,memcached等。这里以Redis为例来分析下使用缓存实现分布式锁的方案。主要的实现方式是使用Jedis.setNX方法来实现。 p…
数据库之事务与并发控制
一.事务的特性(ACID) 1.原子性:单个或多个操作为一个整体,要么全执行,要么全不执行(回滚) 2.一致性:事务执行是从一个一致性状态转为另一个一致性状态 3.隔离性:一个事务在提交前对数据的修改对于其它事务不可见 …
MySQL的锁和事务隔离级别
如今的互联网,开发一个大型的多人APP,你一定离不开数据库。而如何保证所有人能够高并发的进行读写一直是一个高难度的架构问题,先刨去高并发,保证一致性读写这个问题最常用的手段是事务,而实现一个事务的关键点在于锁机制。 今天…
数据库锁(笔记)
引言 MyISAM不支持事务。 MyISAM与InnoDB关于锁方面的区别是什么 MyISAM默认使用的是表级锁,不支持行级锁。 InnoDB默认使用的是行级锁,也支持表级锁。 读锁/共享锁:其他session可以读,但…