摘要:
在之前的线程系列文章中,我们介绍了线程创建的几种方式以及常用的方法介绍。我们接着聊聊多线程线程安全的问题,以及解决办法。 阅读全文
摘要:
在之前的文章中,我们简单的介绍了线程诞生的意义和基本概念,采用多线程的编程方式,能充分利用 CPU 资源,显著的提升程序的执行效率。其中java.lang.Thread是 Java 实现多线程编程最核心的类,学习Thread类中的方法,是学习多线程的第一步。 阅读全文
摘要:
在很多场景下,我们经常听到采用多线程编程,能显著的提升程序的执行效率。例如执行大批量数据的插入操作,采用单线程编程进行插入可能需要 30 分钟,采用多线程编程进行插入可能只需要 5 分钟就够了。既然多线程编程技术如此厉害,那什么是多线程呢? 阅读全文
摘要:
一、介绍 在实际的项目开发过程中,菜单权限功能可以说是后端管理系统中必不可少的一个环节,根据业务的复杂度,设计的时候可深可浅,但无论怎么变化,设计的思路基本都是围绕着用户、角色、菜单进行相应的扩展。 今天小编就和大家一起来讨论一下,怎么设计一套可以精确到按钮级别的菜单权限功能,废话不多说,直接开撸! 阅读全文
摘要:
一、摘要 在上一篇文章中,我们详细的介绍了 redis 的安装和常见的操作命令,以及可视化工具的介绍。 刚知道服务端的操作知识,还是远远不够的,如果想要真正在项目中得到应用,我们还需要一个 redis 的客户端,然后将其集成到项目中,让程序自动根据我们的业务需要自动处理。 基于 redis 开放的通 阅读全文
摘要:
一、摘要 谈起 Redis,相信大家都不会陌生,做过云平台开发的程序员多多少少会接触到它,Redis 英文全称:Remote Dictionary Server,也被称之为远程字典服务。 从官方的定义看,Redis 是一款开源的,遵守 BSD 协议,使用 C 语言开发的 key-value 存储系统 阅读全文
摘要:
一、摘要 在上一篇文章中,我们详细的介绍了随着下单流量逐渐上升,为了降低数据库的访问压力,通过请求唯一ID+redis分布式锁来防止接口重复提交,流程图如下! 每次提交的时候,需要先调用后端服务获取请求唯一ID,然后才能提交。 对于这样的流程,不少的同学可能会感觉到非常鸡肋,尤其是单元测试,需要每次 阅读全文
摘要:
一、摘要 在上一篇文章中,我们详细的介绍了对于下单流量不算高的系统,可以通过请求唯一ID+数据表增加唯一索引约束这种方案来实现防止接口重复提交! 随着业务的快速增长,每一秒的下单请求次数,可能从几十上升到几百甚至几千。 面对这种下单流量越来越高的场景,此时数据库的访问压力会急剧上升,上面这套方案全靠 阅读全文
摘要:
一、摘要 对于投入运营的软件系统,最近小编在巡检项目数据库的时候,发现某些表存在不少的重复数据,对于这样的脏数据,初步分析大致的来源有以下可能: 1.由于用户误操作,多次点击表单提交按钮 2.由于网速等原因造成页面卡顿,用户重复刷新提交页面 3.黑客或恶意用户使用 postman 等网络工具,重复恶 阅读全文
摘要:
合适的索引设置,既能满足一定的查询效率要求,也能节省存储空间! 阅读全文