[发明专利]一种基于mysql高并发访问数据库的方法在审
申请号: | 202011292200.0 | 申请日: | 2020-11-18 |
公开(公告)号: | CN112364061A | 公开(公告)日: | 2021-02-12 |
发明(设计)人: | 张咏雪;魏金雷;储佳祥;杨继伟;徐士强 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/23 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 mysql 并发 访问 数据库 方法 | ||
本发明公开了一种基于mysql高并发访问数据库的方法,属于信息技术领域。本发明的基于mysql高并发访问数据库的方法在mysql上增加redis缓存,在读和写时,先进行缓存处理,若缓存失效则访问数据库,其中使用多个redis节点,主从节点搭配使用。该发明的基于mysql高并发访问数据库的方法能够有效避免缓存雪崩,缓存穿透,缓存击穿等问题,并能数据达到与数据库同步效果,具有很好的推广应用价值。
技术领域
本发明涉及信息技术领域,具体提供一种基于mysql高并发访问数据库的方法。
背景技术
万物互联,数据为先。在这个信息爆炸的互联网时代,信息是最为重要的。用户数量在不断增长,必然与之相对应的数据的访问和存储量会呈指数增长。用mysql数据库来说,当并访问量足够多时,数据库可能会撑不住,所以引入了mysql主从分布集群部署。当同一时刻活跃的用户同时在某一平台开始进行信息交互,后端的数据访问骤增,所以如果是仅仅依靠mysql数据库来解决这个问题可能不太现实,所以引入了redis,redis是在存放在内存中的一种数据库,数据的读取速度很快。由于是单线程,所以不会引起太多的死锁问题。虽然引入了redis+mysql方式,但是会存在redis和mysql的数据读写问题。数据库引擎技术从IBM提出的关系模型到OracleMySQL的诞生,其中所经历的历程令人感概。之后MySQL原生的数据库引擎MyISAM开始占据市场,同时支持高并发的插入和查询,由于不支持事务,所以在很多场景下:如银行交易,金融领域都显得力不从心。所以引入Innodb引擎,Innodb引擎支持事务,虽然在查询上稍逊一筹,但是它是为处理巨大数据量的最大性能设计。它的CPU效率可能是任何其它基于磁盘的关系型数据库引擎所不能匹敌的。当然,数据库无论怎么发展总是要有瓶颈的,所以并行发展的redis横空出世,在内存中的redis拥有的查询修改操作速度都是无可匹敌的。随着时间推移与发展,大型的高并发访问和相对应需要解决的部署架构也应用而生,mysql集群部署,redis集群部署,mysql+redis等等,不同场景有不用用法,同时部署过多的服务虽然好处不少,但是,对于数据的同步依旧是一个很大的问题。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种能够有效避免缓存雪崩,缓存穿透,缓存击穿等问题,并使数据达到与数据库同步效果的基于mysql高并发访问数据库的方法。
为实现上述目的,本发明提供了如下技术方案:
一种基于mysql高并发访问数据库的方法,该方法在mysql上增加redis缓存,在读和写时,先进行缓存处理,若缓存失效则访问数据库,其中使用多个redis节点,主从节点搭配使用。
Redis节点的个数可以根据实际的需要进行设定。
作为优选,传入数据时增加多个内存队列,动态调整,达到负载均衡。
作为优选,使用hash算法,对传入数据id值进行hash取余,选择特定的队列。
作为优选,进行写操作时,直接写入内存队列。
作为优选,进行读操作时,访问缓存。
作为优选,缓存循环从队列中取出读取命令,若为写命令,先删除缓存,写入数据库,写完数据库后同步redis,删除队列中的更新命令。
作为优选,读操作查询缓存时,若查询到缓存,直接返回客户端,若没查询到缓存,则刷新200ms继续查询缓存。
作为优选,继续查询缓存时,仍查询不到,则查询队列中是否存在要查询的原始,若存在,循环查询,等待时间不超过1min,超过依然存在报出异常,若不存在,查询数据,返回客户端,若查询到直接返回客户端。
作为优选,读操作在redis执行,写操作在数据库执行。如果写操作过于频繁,考虑mysql集群部署,其次如果redis失效,会造成雪崩,建议使用redis集群部署。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011292200.0/2.html,转载请声明来源钻瓜专利网。