服务器
文章平均质量分 96
安迪爸爸
老骥伏枥,志在千里。烈士暮年,壮心不已
展开
-
读【mysql单表最大两千万】文章有感
前言mysql我们都很熟悉,现在常用的存储引擎是innodb,mysql数据是存储在物理磁盘上的,而真正的数据处理又是在内存中执行的。由于磁盘的读写速度非常慢,如果每次操作都对磁盘进行频繁读写的话,那么性能一定非常差。为了上述问题,InnoDB将数据划分为若干页,以页作为磁盘与内存交互的基本单位,一般页的大小为16KB。这样的话,一次性至少读取1页数据到内存中或者将1页数据写入磁盘。通过减少内存与磁盘的交互次数,从而提升性能。那么mysql单表的瓶颈是多大呢?阿里巴巴《Java 开发手册》提出单表行原创 2022-04-09 16:13:54 · 1741 阅读 · 1 评论 -
mysql修改字段卡住问题总结
前言线上环境如何修改表字段才能保证服务的稳定运行呢?大概方法罗列:方案1:业务低峰期进行alter table操作。方案2:创建临时表、加字段、插入旧数据,增量数据插入和重命名表名。方案3:用第三方开源工具实现,具体实现步骤看链接:方案4:在从库进行添加字段操作,然后进行mysql主从切换注意事项:主从复制日志格式如果为row格式,添加的新列必须是在表的最后。参考文章:http://blog.itpub.net/15498/viewspace-2153012/笔者就是采用方案1原创 2020-10-29 21:07:24 · 11893 阅读 · 6 评论 -
IM技术调研
协议选型选用什么网络传输协议(TCP/UDP/HTTP) ?udp协议虽然实时性更好,但是如何处理安全可靠的传输并且处理不同客户端之间的消息交互是个难题,实现起来过于复杂. 目前大部分IM架构都不采用UDP来实现。 HTTP http可以用来实现状态协议,离线消息用拉模式,避免 tcp 通道压力过大,影响即时消息下发效率。 IM进行图片聊天的时候: http能够很方便的处理 断点续传和分片上传等功能。 TCP: 维护长连接,保证消息的实时性, 对应数据传输协议.目的: 及时收发消息。综合考原创 2020-10-21 15:59:45 · 506 阅读 · 2 评论 -
ES常用操作笔记
创建索引模板以下参数配置定义官网都有介绍,这块就直接记录官网的地址,方便查阅。索引模板的具体参数参考官网:https://www.elastic.co/guide/en/elasticsearch/reference/7.9/indices-templates-v1.html索引setting具体参数参考:https://www.elastic.co/guide/en/elasticsearch/reference/7.9/index-modules.html#index-modules-set原创 2020-10-12 19:41:17 · 1048 阅读 · 0 评论 -
使用Navicat将Excel数据导入mysql
前言其实这个功能挺简单,但是网上没有搜索到比较准确的文字,遂自己写一篇总结下,也方便别人。环境先叙述下我的环境,以免由于版本等问题,出现不成功,说我的文章不起作用。Navicat版本如下:mysql版本:5.7操作准备一份excel文件。准备一个待导入数据的表。首先在excel的头行加上数据库对应的字段。由于我的表是自增id,这块就去掉了id列。然后将exc...原创 2020-05-08 09:42:27 · 5610 阅读 · 11 评论 -
ElasticSearch安装及使用
前言网上关于ES的文章非常多,为什么还要去重复的写一篇呢?别的人终归是别人的,自己总结出来的看起来最方便。由于javaweb的框架非常之多,你冷落其中几个,过段时间就忘记了,只记得个大概,然后再搜索资料。何不自己总结好方便日后使用查看呢?简单介绍ES是一个强大的搜索引擎,它是基于lucene实现的,lucene被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。而且ES是开源...原创 2020-04-05 22:03:26 · 408 阅读 · 0 评论 -
Linux基础复习总结
前言对于linux,因为日常开发使用的不是太频繁,有些东西总是会忘记,遂写一篇总结。加深记忆,便于使用时查看。系统选用linux系统作为服务器的话,一般选用centos系列,为什么呢,首先是因为它是redhat旗下的开源版本,是商用免费的,其次它是没有界面的,直接命令行,所以性能和稳定性相比ubantu会好一些。一般选择稳定的7点几版本,如7.2.我使用的是centos7.7版...原创 2020-03-22 16:42:08 · 447 阅读 · 0 评论 -
MybatisPlus分页查询【如何使用自定义sql语句】
前言MybatisPlus结合了Mybatis和JPA的精华,让我们操作数据库非常的方便。具体的使用方式参考官网。在使用MybatisPlus时,对于分页传搜索条件这块甚是苦恼。因为分页方法MybatisPlus提供了两个。如下: /** * 根据 entity 条件,查询全部记录(并翻页) * * @param page 分页查询...原创 2020-03-04 20:51:42 · 10997 阅读 · 5 评论 -
【二】做一个秒杀系统【tomcat的并发】
前言第一篇文章介绍了高并发减库存的方法,接下来,我们分析下,自己服务器的并发到底能达到多少。搜索相关资料发现,很多都是一个固定的数量。显然不准确,今天就撸起袖子大干一场。构建一个服务想要测试就先准备一个tomcat秒杀服务,话不多说,直接通过springboot来快速构建一个服务。通过idea自动构建springboot的web工程,初始化完毕后,新建SecKillControll...原创 2020-02-18 16:02:39 · 652 阅读 · 0 评论 -
web項目打包后依賴module是如何存在的
为什么写这个问题今天在做架构设计时,出现了一个疑问,参考项目结构这是一个工程下的两个module,其中common-model是公共model类,device-manage是一个业务模块,可以单独发布,后续还会有order-manage业务模块。他们都会共用common-model模块中的类。这块产生一个疑问,当我发布device-manage模块时,common-model中的...原创 2020-01-06 16:01:23 · 215 阅读 · 0 评论 -
Docker安装及入门
环境说明本文使用centos7.7构建docker。Docker要求操作系统必须为64位,且centos内核版本为3.1及以上。安装docker安装依赖软件包yum install -y yum-utils device-mapper-persistent-data lvm2# 安装前可查看device-mapper-persistent-data 和 lvm2 是否已经安...原创 2019-12-02 21:41:09 · 187 阅读 · 0 评论 -
利用mycat搭建mysql集群
说明我的环境是centos7.7+mysql8,在不同版本主机及不同版本mysql命令不一样,如果想参考我的文章,尽量选择跟我一样的配置,这样可以省去一些麻烦,如果不一样,尽量理解思想,对于某个步骤的命令执行总是报错,或者找不到对应的文件,那就需要自己去网上搜索下对应版本的命令,不要死磕,会很浪费时间。如果对于centos的安装和配置不熟悉的话,参考我的另外一篇文章:https://blo...原创 2019-11-30 13:32:51 · 464 阅读 · 0 评论 -
使用centos7搭建zookeeper集群
下载安装vmware去官网下载的话需要注册才能下载,随便在网上找了一个15的版本,发现安装失败。网上的解决办法也是千奇百怪没有尝试。然后下载了14的版本,安装成功。安装centos7首先去阿里的镜像官网找到centos7相应版本下载,地址:https://mirrors.aliyun.com/centos/7.7.1908/isos/x86_64/下载镜像成功后。使用vmware打...原创 2019-11-27 09:59:16 · 257 阅读 · 0 评论 -
mysql事务隔离级别的研究
四种隔离级别概述1.未提交读(read-uncommitted)在一个事务中,可以读取到其他事务未提交的数据变化,这种读取其他会话还没提交的事务,叫做脏读现象,在生产环境中切勿使用。2.已提交读(read-committed)在一个事务中,可以读取到其他事务已经提交的数据变化,这种读取也就叫做不可重复读,因为两次同样的查询可能会得到不一样的结果。3.可重复读(repetable...原创 2019-11-19 17:03:19 · 165 阅读 · 0 评论 -
Mybatis源码分析
前言本文通过debug形式,来一步步分析mybatis源码。在开始分析前,我插入了入门demo,以便回忆下mybatis的基本使用。在此基础上,进行源码的分析。工具:IDEA入门demo新建maven工程打开IDEA,新建project,新建一个maven工程,填写项目名称等信息一直下一步即可。导入坐标打开pom.xml文件,依次导入mybatis、mysql驱动、ju...原创 2019-11-03 22:25:22 · 226 阅读 · 0 评论 -
redis知识整理
前言日常开发中经常使用redis,但每次项目基本只配置过一次,或者复制粘贴,对于从零搭建redis,其中的原理流程模糊不清,所以在这里做个梳理,日后回顾也很方便。Redis的官网打开比较慢,而且全英文对英文不好的同学看起来不方便,这块推荐去redis中文网查看官方文档,官网地址:http://www.redis.cn/。其实大部分内容官网都介绍的很清楚了,在这里只是对知识做一个梳理,方...原创 2019-10-22 11:11:10 · 895 阅读 · 0 评论 -
# SQLServer 复制数据库
SQLServer 复制数据库有时候我们要在一个数据库连接中,复制一个数据库到另外一个连接地址,或者复制一个数据库改一个名字。如何实现呢?复制表新建数据库在我们的目标地址,新建一个数据库。如图在弹出的窗口输入数据库,点击确定即可。导入表数据在新建的数据库中,右键,任务,导入数据在弹出的窗体中,选择好数据源和目标。选择需要复制的表。这里要注意,不要勾选视图,如果勾选了视图,复...原创 2018-11-30 10:48:54 · 505 阅读 · 0 评论 -
Windows Process Activation Service (WAS) 服务无法启动相关解决方案
起因:笔者在做.NET开发时,需要用到IIS(win10系统),但是点击启动就会弹出报错,无法启动WWW万维网服务。于是笔者去服务列表里找发现确实启动不起来,去网上搜索,多数人都说需要先启动这个服务。当我启动Windows Process Activation Service服务时,就会报错,大致错误描述是:系统找不到文件路径(The system cannot find ...原创 2019-03-08 09:37:32 · 31909 阅读 · 7 评论 -
安装nodejs以及webpack
下载nodejs下载地址:这里。拿win10安装为例,直接运行下载好的msi文件。一直下一步安装即可。期间选择对应的安装盘符。最后点击finish。安装完成后,可以cmd打开命令行,输入node -v 来查看node的版本,同时可以通过npm -v 查看npm的版本。配置npm通过输入npm config ls会显示npm的默认配置如下:; cl...原创 2019-06-20 10:48:43 · 1594 阅读 · 0 评论 -
Jwt的使用场景
什么是JwtJwt是JSON Web Tokens的简称,从单词可以看出它也是一种token,其实可以理解为一种生成token的框架或规范。既然也是token那我们可以换一种问法,token是什么?为什么要使用token?token是什么Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需...原创 2019-07-02 09:48:22 · 8209 阅读 · 8 评论 -
最简单的SpringBoot+Mybatis配置及简单测试
开发工具本文使用当下比较流行的IntelliJ IDEA开发工具。新建工程打开IntelliJ IDEA工具选择new project,弹出如下窗口:我们选择左侧的Spring Initializr,jdk要求1.8及以上。选择默认的Default下一步:写demo其实我们可以不改这些信息直接下一步,如果想改名字可以自己修改Group及Artifact,和最下边的pack...原创 2019-06-24 10:33:09 · 3441 阅读 · 1 评论 -
SpringSecurity+Oauth2+Jwt的配置
前言文章搭建工程基于Idea。SpringSecurity+Oauth2+Jwt实现了什么功能?SpringSecurity主要的工作就是拦截请求,只有满足基于springSecurity你定义的规则,才允许继续访问相应的资源或接口。可以说是一套权限管理的框架。能非常方便细致的帮助我们管理接口和资源的权限。比如一个apicontroller里定义了多个接口,admin可以访问所有接口,角...原创 2021-07-16 13:49:21 · 1744 阅读 · 2 评论 -
SpringDataJpa使用详解
概述这里就不引用冠冕堂皇的介绍了。用我概括的话说。他就是一个类似hibernate,mybatis数据访问层的框架。官网有详细的介绍,戳这里Jpa是什么?他是一套规范,类似restful风格一样,都是一套规范。使用Jpa必须按照它的规范来操作数据访问。SpringDataJpa==Jpa规范+Hibernate底层为什么要用jpa笔者其实很喜欢用mybatis写sql...原创 2019-08-23 13:21:32 · 4253 阅读 · 6 评论 -
springmvc整理
前言日常开发中经常使用springmvc,但每次项目基本只配置过一次,或者复制粘贴,对于从零搭建springmvc,其中的原理流程模糊不清,所以在这里做个梳理,日后回顾也很方便。入门demo创建项目使用Idea工具,新建maven工程,选择maven模板webapp模板,写好工程名,一直下一步到finish。导入pom依赖工程初始化完毕后,打开pom.xml,导入需要的依赖...原创 2019-10-10 21:39:17 · 157 阅读 · 0 评论 -
关于CDN的一些理解
什么是CDN?引用阿里云对CDN的介绍链接:https://help.aliyun.com/document_detail/27101.html?spm=a2c4g.11174283.3.1.n09AhU以下是部分内容:简介CDN(内容分发网络)全称是 Content Delivery Network,是建立并覆盖在承载网之上、由分布在不同区域的边缘节点服务器群组成的分布式网络,替代传统以WEB ...原创 2018-03-09 15:27:40 · 3245 阅读 · 0 评论