10 2018 档案
摘要:由于前段时间公司项目比较赶,一直抽不出时间写博客,今天偷空写一篇吧。前面给大家讲解了单机版redis的基本操作,现在继续给大家讲解一下Redis的进阶部分,主从复制和读写分离。 一、Master&Slave是什么? 也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机 的maste
阅读全文
摘要:一、对Redis持久化的探讨与理解 目前Redis持久化的方式有两种: RDB 和 AOF 首先,我们应该明确持久化的数据有什么用,答案是用于重启后的数据恢复。Redis是一个内存数据库,无论是RDB还是AOF,都只是其保证数据恢复的措施。所以Redis在利用RDB和AOF进行恢复的时候,都会读取R
阅读全文
摘要:主从分离的原则:所有的写操作在主数据库中进行,因为主从分离的原理是涉及到同步数据,那就可能会出现延迟或者其他问题,就可能会出现脏数据。 所以,在从库中进行的读操作也必须是有一定容忍性的数据,例如日志等。 例如需要注意,如果一个业务中有读和写的操作。 那么这个操作的库必须是主库,因为这个涉及到事务,需
阅读全文
摘要:前几天有个需求,需要使用不同的数据源,例如某业务要用A数据源,另一个业务要用B数据源。我上网收集了一些资料整合了一下,虽然最后这个需求不了了之了,但是多数据源动态切换还是蛮好用的,所以记录一下,或许以后有用呢?或者自己感兴趣又想玩呢! 1.加个依赖 2.application.properties配
阅读全文
摘要:[原则一:选择需要优化的SQL] [原则二:从Explain和Profile入手] [原则三:永远用小结果集驱动大的结果集] [原则四:在索引中完成排序] [原则五:使用最小Columns] [原则六:使用最有效的过滤条件] [原则七:避免复杂的JOIN和子查询]
阅读全文
摘要:本文实验的测试环境:Windows 10+cmd+MySQL5.6.36+InnoDB 一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也
阅读全文
摘要:要想优化一条 Query,我们就需要清楚的知道这条 Query 的性能瓶颈到底在哪里,是消耗的 CPU计算太多,还是需要的的 IO 操作太多?要想能够清楚的了解这些信息,在 MySQL 5.0 和 MySQL 5.1正式版中已经可以非常容易做到了,那就是通过 Query Profiler 功能。 M
阅读全文
摘要:汉字很多,人力有时尽,人不可能记住所有的字,为了解决这个问题,于是有了字典。数据库里的数据很多,为了方便检索,于是有了索引。 索引,是一种数据结构,在这种数据结构中实现了高级的查找算法,索引可以帮助我们高效地获取数据,提高查询效率。 既然索引有这样的好处,那我们是不是每个字段都该建立索引呢? 当然是
阅读全文
摘要:在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL
阅读全文
摘要:1、PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。 2、PROPAGATION_SUPPORTS:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就以非事务执行。 3、PROPAGATION_MA
阅读全文
摘要:MySQL的innodb存储引擎支持行级锁,innodb的行锁是通过给索引项加锁实现的,这就意味着只有通过索引条件检索数据时,innodb才使用行锁,否则使用表锁。根据当前的数据更新语句(UPDATE user set name='11111' where account='1'),该条件字段acc
阅读全文
摘要:1. 查看远程分支 ~/mxnet$ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/nnvm remotes/origin/piiswrong-patc
阅读全文
摘要:一、修改防火墙设置,开放对应的端口 修改Linux系统防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,如果要开放哪个端口,在里面添加一条 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport
阅读全文
摘要:1.引入依赖 2.定时器工厂类 3.定时器配置类,初始化定时器工程类 4.定时任务类 5.
阅读全文
摘要:先来看一下什么是Session。 用户使用网站的服务,基本上需要浏览器与Web 服务器的多次交互。HTTP 协议本身是无状态的,需要基于HTTP 协议支持会话状态(Session State)的机制。而这样的机制应该可以使Web 服务器从多次单独的HTTP 请求中看到“会话”,也就是知道哪些请求是来
阅读全文
摘要:在平时的开发中我们都需要处理重复提交的问题,避免业务出错或者产生脏数据,虽然可以通过前端控制但这并不是可以完全避免,最好的方式还是前后端均进行控制,这样的话就可以更有效,尽可能全面的去减少错误的发生。 如果用户频繁点击或者恶意攻击的话就会造成不断的请求对服务器产生很大的压力,为了避免这种情况我们需要做处理。 怎样解决?工作中用过的方案有三种: 1.js层面,在用户点击提交订单后禁用按钮,然而这...
阅读全文
摘要:如图,以Android平台为例: 第4步:调用支付接口:此消息就是本接口所描述的支付宝客户端SDK提供的支付对象PayTask,将商户签名后的订单信息传进payv2方法唤起支付宝收银台,交易数据格式具体参见请求参数说明。 第5步:支付请求:支付宝客户端SDK将会按照商户客户端提供的请求参数发送支付请求。 第8步:接口返回支付结果:商户客户端在第4步中调用的支付接口,会返回最终的支付结果(即...
阅读全文
摘要:1.添加源码管理 2.构建触发器,下面设置为github代码更新时重新构建 3.自定义的打包、重命名的指令 4.执行war包 注意:
阅读全文
摘要:1.下载后解压,运行bin目录下的jmeter.bat 2.add ThreadGroup 3.add request 4.add listener
阅读全文
摘要:1、OAuth2.0简介 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。 允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(
阅读全文
摘要:1.导入swagger2 2.配置类 3.在controller上贴上相应注解 4.如果你的项目是springboot项目,访问http://localhost:[端口]/swagger-ui.html,就可以看到swagger的ui页面了
阅读全文
摘要:在某些特殊的情况下,Bean需要实现某个功能,但该功能必须借助于Spring容器才能实现,此时就必须让该Bean先获取Spring容器,然后借助于Spring容器实现该功能。为了让Bean获取它所在的Spring容器,可以让该Bean实现ApplicationContextAware接口。 下面示例
阅读全文
摘要:对象的方法中一旦加入synchronized修饰,则任何时刻只能有一个线程访问synchronized修饰的方法。假设有个数据对象拥有写方法与读方法,多线程环境中要想保证数据的安全,需对该对象的读写方法都要加入 synchronized同步块。这样任何线程在写入时,其它线程无法读取与改变数据;如果有
阅读全文
摘要:com_dubbo_config src/main/resources ${project.build.directory}/classes pro/* ...
阅读全文
摘要:在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录下,往往会看到一个名为/lib的子目录,那里存放着各类第三方依赖jar文件,如log4j.jar,junit.jar等等。每建立一个项目,你都需要建立这样的一个/lib目录,然后复制一对jar文件,这是很明显的重复。重复永远是噩梦的起
阅读全文
摘要:1.<distributionManagement>的作用: 负责管理构件的发布。这是一个环境变量 <downloadUrl> URL </downloadUrl> 其它的Maven项目可以通过该URL下载并引用当前Maven项目的构件.<status> 当前Maven项目的状态.可用的状态有以下几
阅读全文
摘要:一、简述 ApplicationContextInitializer是Spring框架原有的概念, 这个类的主要目的就是在 ConfigurableApplicationContext类型(或者子类型)的ApplicationContext做refresh之前,允许我们 对ConfigurableA
阅读全文
摘要:在日常网站访问中,会把动态地址改造成伪静态地址。 例如: 访问新闻栏目 /col/1/,这是原有地址,如果这样访问,不利于搜索引擎检索收录,同时安全性也不是很好。 改造之后: /col/1.html。 改造方法: 1.添加urlrewritefilter <dependency> <groupId>
阅读全文
摘要:一、前言 Spring Email 抽象的核心是 MailSender 接口,MailSender 的实现能够把 Email 发送给邮件服务器,由邮件服务器实现邮件发送的功能。 Spring 自带了一个 MailSender 的实现 JavaMailSenderImpl,它会使用 JavaMail
阅读全文
摘要:@ApiOperation(value = "批量上传", notes = "批量上传", httpMethod = "POST") @PostMapping(value = "/upload") public void upload(HttpServletRequest request) { MultipartHttpServletRequest multipa...
阅读全文
摘要:版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/liuchuanhong1/article/details/60873295 前言 在我们日常的开发中,很多时候,定时任务都不是写死的,而是写到数据库中,从而实现定时任务的动态配置,下面就通过一个简单的示例,
阅读全文
摘要:一、什么都不用说,导入个依赖先 二、推送到前端的消息实体类 三、因为要实现点对点的推送,所以需要创建一个监听器来获取到websocket的session,如下: 四、最重要的配置类 代码中有详细的解释,认真看可以看明白的。 五、controller 六、前端页面 最好,来试试点对点推送。 第一个页面
阅读全文
摘要:在使用SpringBoot构建项目时,我们通常有一些预先数据的加载。那么SpringBoot提供了一个简单的方式来实现–CommandLineRunner。 CommandLineRunner是一个接口,我们需要时,只需实现该接口就行。如果存在多个加载的数据,我们也可以使用@Order注解来排序。
阅读全文
摘要:版权声明:欢迎转载,注明作者和出处就好!如果不喜欢或文章存在明显的谬误,请留言说明原因再踩哦,谢谢,我也可以知道原因,不断进步! https://blog.csdn.net/justloveyou_/article/details/74379479 <!-- flowchart 箭头图标 勿删 --
阅读全文
摘要:之前遇到了几次这个问题,解决了又忘记了,所以特别记录一下这个问题。 遇到这个问题,改pom文件不行,改project的sdk也不行,后面看到网上说真正的原因是maven的runner的jre的环境依然在使用其他版本的jdk,所以才导致的冲突! 需要在设置里修改maven的runner的jre才能从根
阅读全文
摘要:第一步:添加依赖 第二步:定义一个切面类 注意: 如果同一个 切面类,定义了定义了两个 @Before,那么这两个 @Before的执行顺序是无法确定的 对于@Around,不管它有没有返回值,但是必须要方法内部,调用一下 pjp.proceed();否则,Controller 中的接口将没有机会被
阅读全文
摘要:添加了spring-boot-maven-plugin插件后,当运行maven打包的命令,项目会被打包成一个可以直接运行的jar包,使用"java -jar"可以直接运行。 当项目中有两个启动类时,需要制定要执行的类,如果不指定,启动会报错。 指定启动类有两种情况需要区分 一:pom文件继承自spr
阅读全文
摘要:加上的情况: 访问localhost:8080/demo,没有带上参数,会报错。可以通过设置@RequestParm里面的属性required属性为false,设置后不传参数也不会报错。 还可以指定属性defaultValue,如果设置了这个属性,没有设置required属性(即为true的情况下)
阅读全文
摘要:@ConfigurationProperties 可以非常方便的把资源文件中的内容绑定到对象上 @Value("${app.name}") 注入简单值 @Import 通过导入的方式实现把实例加入springIOC容器中 MainConfig注解配置中增加@Import注解如下: 运行结果: @Re
阅读全文
摘要:一、准备不同环境的配置文件 二、在pom文件中定义一个变量,名称随意,该变量用于动态更改配置 properties,字面意思就是配置咯,就像是pom文件中的变量咯,这样理解吧。 三、设置profiles 四、build设置 第三步我们默认激活dev环境,可以看到我们第一步定义的变量已经自动变成激活的
阅读全文
摘要:一、首先是pom文件中设置打成war包 二、然后是修改依赖: 三、新建一个继承自SpringBootServletInitializer的启动类 最后 需要注意,sources方法里的Application的名称要和原来建立的Application名称一样,最后clean一下,打包放到tomcat里
阅读全文
浙公网安备 33010602011771号