美文网首页
MySQL处理高并发查询和写入的几个技巧

MySQL处理高并发查询和写入的几个技巧

作者: Katou_Megumi | 来源:发表于2019-04-19 18:05 被阅读0次
1. 在有主从数据库读写分离的情况下,写主库,有主从同步延迟,如何保证查到最新的数据?

一个很简单的办法,你确认写入成功后不再次读库,直接将你写入的数据返回给用户,这就是一种很常见的操作

2.做任务赚积分。前端发出增加积分请求,如果收不到响应会重试。后端在数据库增加积分的时候如何保证不重复增加?

前端传入原有积分和要增加的积分,update XXX set score=XX where score=X
这是一种乐观锁的思想,
这也就是所谓的大名鼎鼎的 CAS算法

  • 什么是CAS

CAS是英文单词CompareAndSwap的缩写,中文意思是:比较并替换。CAS需要有3个操作数:内存地址V,旧的预期值A,即将要更新的目标值B。
CAS指令执行时,当且仅当内存地址V的值与预期值A相等时,将内存地址V的值修改为B,否则就什么都不做。整个比较并替换的操作是一个原子操作。
这是一种很常用的解决高并发的使用乐观锁思想的机制。
CAS也不是完美的,有自己的问题。具体可以参考这篇文章:面试必问的CAS,你懂了吗?

相关文章

  • MySQL处理高并发查询和写入的几个技巧

    1. 在有主从数据库读写分离的情况下,写主库,有主从同步延迟,如何保证查到最新的数据? 一个很简单的办法,你确认写...

  • 超卖

    mysql处理高并发,防止库存超卖

  • 第十一章 可扩展的MySQL(下)

    通过集群扩展 MySQL Cluster(NDB Cluster) 一个键-值数据库服务器,高写入高查询吞吐,容错...

  • 高并发下的mysql问题

    高并发下的mysql问题 mysql 重复插入问题 业务需要先根据where条件查询,如有数据命中对其进行修改否则...

  • MySQL系列之三 -- -并发(MVCC)

    MySQL 并发控制如何实现 MySQL 如何实现高并发? 一 并发控制 抛开MySQL,通过技术上来讨论并发控制...

  • mysql存储过程

    一、执行过程1、创建数据库表 2、写入存储过程 3、执行 [mysql 存储过程海量数据写入和查询] 循环插入10...

  • 无标题文章

    大并发写入案例: 高并发,大数据量写入:先把数据写入到内存,积累到一定的量后,在定时或者定量的写入到磁盘(减少磁盘...

  • PHP面试之MySQL安全性

    MySQL查询的安全方案 使用预处理语句防止SQL注入如删除id=1的用户 写入数据库的数据要进行特殊字符的转义 ...

  • spark3.x 生产调优笔记

    1 spark sql写入mysql非常慢 有这样一个业务场景:需要将通过Spark处理之后的数据写入MySQL,...

  • 大数据入门学习

    常用处理方案 对于大量数据的处理方案:大量数据处理。 对于高并发的处理方案:高并发处理。 ============...

网友评论

      本文标题:MySQL处理高并发查询和写入的几个技巧

      本文链接:https://www.haomeiwen.com/subject/vmccgqtx.html