- 博客(204)
- 资源 (3)
- 收藏
- 关注
原创 大数据量级关系型数据库分页优化方案
1.缘起~相信大多程序员在经历的工作中都会遇到 大数据表(mysql)的分页慢查询问题。在一家b2b做院线与影院系统时,单表影片以及单表订单量两千万+(沉淀了两年的数据)。在当时现有的技术架构上做查询分页优化十分艰难。下面说说 当时的优化经历以及尝试的方案。补充说明下架构实现方面的手段。2.为什么大数据表的分页越往后越慢?究其原因 要从根源说起,mysql 分页通常使用的是limit 分页那么下面分析下他的分页原理。我们可以通过explain 查看如下情况的分页sql 执行计划:偏移量.
2020-08-12 11:49:05 551 1
原创 SpringBoot + mysql 项目不使用事物 对数据库进行增改操作时 是如何进行的?
当项目中有 增删该 三个操作的service 方法 不添加事物,并且项目也未 开启事物管理。那么这个增改删 功能的service方法的事物是如何处理的????demo :public void mysqlHandleService() { updateTableByStatus(status1); deleteTableById(id1); saveTable(tableEntity);} 欢迎博友们抛玉。。。...
2020-08-06 10:40:42 425
原创 session共享解决方案
session共享解决方案1.缘起session,相信做web开发的程序员们肯定都不陌生,先浅聊下session?服务器为每一个用户创建一个会话上下文,保证同一个用户在多次发送请求到服务端时都是在同一个上下文中。而这个session上下文则存储用户信息,以及用户状态数据,请求参数数据等;以及用户登录信息登录状态等;保持用户的登录装态。深究?为毛线服务器端要给用户(同一个浏览器发送多次...
2020-04-19 17:02:09 313
原创 数据库设计规范
数据库设计规范一、数据字典规范(一)建表规约1.1 命名规约【强制】1.库名、表名必须使用小写字母或数字,“_”分割,禁止以数字或大写字母开头,两个下划线之间不出现数字,其中库名不超过15个字符, 表名不超过20个字符。数据表名统一使用“t_”开头,使用“t_业务名称_表的作用”英文单词的规则命名。正例:t_order_content, t_business_typ...
2019-03-19 19:49:14 903
原创 静态化使用于什么场景呢? 也就是 在什么业务需求下会使用 静态化?
小议动静分离架构方案1.缘起:互联网项目应用大多是高并发,要求在高并发下 请求访问能够快速响应。除了在 scale up 和scale out 方案外 还可以使用 动静分离的方式实现;首先说下 动静分离为什么会快?静态的资源特点: 访问路径短,不需要动态拼装即可返回用户请求结果;动态的资源特点: 访问路径长,微服务实现中可能一个请求会跨几个微服务节点,寄过需要拼...
2019-03-19 19:48:03 770
原创 浅聊灰度发布
浅聊灰度发布1.缘起:什么是灰度发布?什么场景下需要灰度发布?如何进行灰度发布?2. 灰度发布:灰度很简单,发布很复杂什么是灰度发布,其要点有哪些?最近跟几个聊的来的同行来了一次说聚就聚的晚餐,聊了一下最近的工作情况如何以及未来规划等等,酒足饭饱后我们聊了一个话题“灰度发布”。因为笔者所负责的产品还没有达到他们产品用户的量级上(最低的都在1千...
2019-03-19 19:47:25 408
原创 数据库读写分离主从间数据同步延时怎么保证数据一致性
数据库读写分离主从间数据同步延时怎么保证数据一致性在gfd1.缘起:互联网项目架构中,经常会在项目中配置多个数据源进行数据库的读写分离以此来提高数据库操·作性能,区间范围内的 规避数据库瓶颈,提升数据库应用性能;不通常数据库都是一主多从 或多主多从 亦或 mysq HA 中的多主多从 集群;当主从数据库进行数据同步时 是有一定延迟的,尤其是网络抖动或者 其他原因造成 主...
2019-03-19 19:46:01 11505 6
原创 小议怎么保证系统线上安全
小议怎么保证线上安全 1.缘起最近面试XXX岗位中间遇到的问题,你是如何保证线上架构体系安全的?初听 有点懵逼~ 粗略考虑了下,只从高可用方面浅谈了几种方式;细细思量后觉得回答这个问题只从高可用来说还是远远不够的。下面从基础设施安全;应用系统安全;数据安全;防重以及过载保护等几个方面来简议下。 2. 细...
2018-07-28 11:53:00 738
原创 JMS 与 AMQP 区别
JMS : java message Service 字面上理解 java 消息 服务, jms是消息队列中提供的一组API 接口;是提供的服务API。AMQP:Advance message queue protocol 高级消息队列协议, rabbitmq 是基于这个协议实现的。...
2018-03-13 11:31:02 538
转载 数据库优化之innodb_flush_log_at_trx_commit参数性能优化
innodb_flush_log_at_trx_commit = 0,Innodb 中的Log Thread 没隔1 秒钟会将logbuffer中的数据写入到文件,同时还会通知文件系统进行文件同步的flush操作,保证数据确实已经写入到磁盘上面的物理文件。但是,每次事务的结束(commit 或者是rollback)并不会触发LogThread 将log buffer 中的数据写入文件。所以,当设置...
2018-03-13 11:24:59 4225 1
转载 java代码优化的小建议
java代码优化的小建议final关键字final关键字可以保证类和方法不被重写,另外final关键字修饰的方法还会建议JVM把此方法作为内联方法, 注意此处只是建议,具体JVM会怎么优化还需要视情况而定。就算不用final修饰,JVM也同样会进行优化。 所以说想通过使用final修饰来提高性能的话,是不会带来很高的收益。对于一些小方法来说能加就加上final。初始化大小,
2017-12-16 15:06:53 331
转载 logback配置详解
logback 配置详解(一) 一:根节点包含的属性: scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。scanPeriod:设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。debug:
2017-11-27 22:31:01 333
转载 SpringCloud 链路追踪应用
史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)目录(?)[-] 一简介 二服务追踪分析 三术语 四构建工程 41 构建server-zipkin 42 创建service-hi 43 创建service-miya 44 启动工程演示追
2017-10-15 15:23:27 888
转载 各种文件系统特性说明以及对比
各种分布式文件系统简介 常见的分布式文件系统有,GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS、FastDFS等。各自适用于不同的领域。它们都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。 Google学术论文,这是众多分布式文件系统的起源==============================
2017-10-14 15:01:57 1916
原创 登录注册 图片验证码生成
登录注册时,需要添加图片验证码校验防止恶意攻击。步骤如下:1.后台生成图片验证码流,并记录code值到Session或Redis 中2.请求过来后,附带图片验证码,从session或redis中获取code 进行对比判断是否放行。图片验证码Controller层实现代码如下:/** * Code. 图片验证码生成 * * @param response
2017-10-11 17:04:25 1499
原创 使用RandomAccessFile 对日志文件读取,以及读取追加的文件内容。
public static void main(String[] args) throws Exception{ //以只读方式打开日志文件 RandomAccessFile raf = new RandomAccessFile("E:\\gateway.log", "r"); //初始值赋0,让RandomAccessFile第一次读取
2017-09-20 14:09:15 1479
转载 HBase介绍、搭建、环境、安装部署
http://www.cnblogs.com/oraclestudy/articles/5665780.html
2017-08-19 12:21:08 439
转载 Hbase入门之三HBase Client API使用入门
转载:http://blog.csdn.net/lifeifei2010/article/details/41567191Hbase的基本介绍 今天公司进行了一样关于Hbase的培训,让我对hbase有了基础的了解。和大家分享一样。自己的理解不是很深,如果有说的不对地方,希望大家斧正。 什么是Hbase? HBase是一个分布式的、面向列的开源数据库。
2017-08-19 10:52:59 4557
转载 Hive,Hbase,HDFS等之间的关系
原文链接:http://blog.csdn.net/ooc_zc/article/details/50444222Hive:hive不支持更改数据的操作,Hive基于数据仓库,提供静态数据的动态查询。其使用类SQL语言,底层经过编译转为MapReduce程序,在Hadoop上运行,数据存储在HDFS上。HDFS:HDFS是GFS的一种实现,他的完整名字是分布式文件系统,类似于F
2017-08-19 09:23:42 11446 1
转载 git 不小心删除本地文件恢复
有时候不小心在Git中rm了文件。怎么恢复呢?别急,咱们一步步来。首先git status一把,看看此时工作区的状态[xxx@xxx static_files]$ git status# On branch masternothing to commit (working directory clean)123123可见此时没有任何修改的内容。 再看看具体有什么xxx@xx
2017-08-05 17:13:20 5558
转载 JSW TOKEN 创建
基于Token的WEB后台认证机制几种常用的认证机制HTTP Basic AuthHTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RESTful API 使用的最简单的认证方式,只需提供用户名密码即可,但由于有把用户名密码暴露给第三方客户端的风险,在生产环境下被使用的越来越少。因此,在开发
2017-07-04 14:35:05 1091
转载 pagehelper 插件应用报错:ConversionNotSupportedException: Failed to convert property value of type ‘java.la
Mybatis物理分页插件PageHelper 5.0分类:springmaven (666) (1)昨天在Maven管理的项目中集成PageHelper的时候总是没有成功。我采用的是Spring的集成方式。 因为我使用的是PageHelper5.0,如果按照这样的配置的话,Log就会报出如下异常: Error creating bean with name
2017-06-30 11:24:01 1940 1
原创 eclipse maven引入第三方jar包后如何下载源代码(sources)
1. 在eclipse windows -> properties->maven 选项,然后查看右侧 菜单来中 找到 Download Artifact Sources 选项勾选;如果想要下载JavaDOC 则勾选 DownloadArtifact JavaDOC 选项。点击apply 并确定。2.回到eclipse项目中右键项目 找到maven 选项选择 update projec
2017-06-25 17:06:09 7173 1
转载 Eclipse neon 启动报错Could not create the Java Virtual Machine,A fatal exception has occurred。
转载于:http://blog.csdn.net/a15937822658/article/details/52050694今天下载了eclipse neon,但是启动的时候报错,Could not create the Java Virtual Machine,A fatal exception has occurred。网上查询了下,大多数说修改配置文件中的Xmx即可,
2017-06-20 21:47:23 3003
转载 用maven插件+Mabatis-generator生成 Mapper DO 文件
版权声明:本文为博主原创文章,转载请注明出处。目录(?)[-]配置Maven pomxml 文件配置mybatis-generator的配置文件生成代码网上很多关于Mabatis-generator自动生成mabatis所需要的数据库表映射配置以及bean和dao等的用法,大致分为这几种:1.eclipse插件生成、2.用jar包
2017-06-15 13:44:03 1638
转载 Web系统大规模并发——电商秒杀与抢购
【问底】徐汉彬:Web系统大规模并发——电商秒杀与抢购发表于2014-12-02 09:30|85265次阅读| 来源CSDN|118 条评论| 作者徐汉彬问底徐汉彬大数据摘要:电商的秒杀和抢购,从技术的角度来说,会对Web系统产生巨大的考验。本期《问底》,徐汉彬将带大家关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因。【导
2017-06-11 00:10:23 360
转载 Java中拆箱封箱,以及需要注意的陷阱
一、什么是自动装箱拆箱 很简单,下面两句代码就可以看到装箱和拆箱过程//自动装箱Integer total = 99;//自定拆箱int totalprim = total;1234512345简单一点说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。下面我们来看看需要装箱拆箱的类型有哪些:这个过程是自动执行的,那么我们
2017-05-22 16:29:02 2788
原创 Spring 注解 <context:component-scan> 子标签 <context:exclude-filter > 和 <context:include-filter>区别
1.在spring MVC中的配置中一般会遇到这两个标签,作为的子标签出现。首先说下,这两个注解和所在父节点的含义: :这个是开启扫包的标签,告诉Spring我指定的base-package="com.kairu.cms.controller" 指定的路径下的类开启了注解。 : exclude-filter: 代表要排除,加了指定注解的类,不
2017-05-17 19:44:27 634
转载 FastDFS软件介绍 安装 及应用
FastDFS软件介绍1.什么是FastDFSFastDFS是用C语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。2.FastDFS架构FastDFS架构包括 Tracker server和St
2017-05-15 13:47:46 691
转载 SpringMVC 使用JSR-303进行校验 @Valid
使用注解一、准备校验时使用的JARvalidation-api-1.0.0.GA.jar:JDK的接口;hibernate-validator-4.2.0.Final.jar是对上述接口的实现;log4j、slf4j、slf4j-log4j 二、编写需要校验的bean@NotNull(message="名字不能为空")private String userName
2017-05-14 19:49:48 331
转载 JSR330注解和Spring注解对比
JSR330注解和Spring注解对比:JSR330中的 @Inject 代替了 Spring 注解中的@AutoWiredJSR330中的@Named代替了Spring 注解中的@Componentspring 3.0 支持JSR330标准; JSR330标准和spring annotation都是通过自动扫描的方式集成各个组件,用JSR330
2017-05-14 19:49:02 1440
转载 spring @component的作用
spring @component的作用 1、@controller 控制器(注入服务)2、@service 服务(注入dao)3、@repository dao(实现dao访问)4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的) @Component,@Service,@Controller,@Repository注解的
2017-05-14 19:48:10 344
转载 MVC的拦截器
MVC的拦截器 方案一,(近似)总拦截器,拦截所有urlmvc:interceptors> bean class="com.app.mvc.MyInteceptor" />mvc:interceptors>为什么叫“近似”,前面说了,Spring没有总的拦截器。会为每一个HandlerMapping,注入一个拦截器。总有一个HandlerMapping是可以找
2017-05-14 19:47:12 514
原创 Spring mvc mybatis 中Date类型 在返回给前端时需要格式化的实现方式
1.方式一:使用 fastjson 中的注解JSON格式化使用的时com.alibaba.fastjson 返回对象为:xxxBO.java @JSONField (format="yyyy-MM-dd HH:mm:ss") public Date startDate; @JSONField (format="yyyy-MM-dd HH:mm:ss")
2017-05-13 17:17:00 8251
转载 Spring MVC 之输入验证
Spring MVC 之输入验证(六)Spring MVC 验证主要还是用的是hibernate的验证。so需要添加以下的jar包:1、 hibernate-validator-5.2.2.Final.jar2、hibernate-validator-annotation-processor-5.2.2.Final.jar (这个可以不用)3、 log4j.jar4 、sl
2017-05-10 18:56:30 468
转载 mysql 慢查询日志设置
慢查询日志相关参数MySQL 慢查询的相关参数解释: slow_query_log :是否开启慢查询日志,1表示开启,0表示关闭。log-slow-queries :旧版(5.6以下版本)MySQL数据库慢查询日志存储路径。可以不设置该参数,系统则会默认给一个缺省的文件host_name-slow.logslow-query-log-file:新版(5.
2017-04-11 17:26:35 12778 2
转载 MySQL开发实践8问,你能hold住几个?
MySQL开发实践8问,你能hold住几个?王昂标签:数据库优化,MySQL2016-11-16 15:07:274140最近研发的项目对DB依赖比较重,梳理了这段时间使用MySQL遇到的8个比较具有代表性的问题,答案也比较偏自己的开发实践,没有DBA专业和深入,有出入的请使劲拍砖!...MySQL读写性能是多少,有哪些性能相关的配置参数?MySQL负载高时,如何找到是由哪
2017-04-11 14:37:07 320
原创 mysql 对表数据进行求和分组并在结果中筛选符合条件的数据 having group by count
查询table表查询每一个班级中年龄大于20,性别为男的人数select COUNT(*)as '大于20岁人数',classid from Table1 where sex='男' group by classid,age having age>20--需要注意说明:当同时含有where子句、group by 子句 、having子句及聚集函数时,执行顺序如下:--执行wher
2017-04-11 13:42:12 4589
转载 高并发下数据库优化
如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。一、数据库结构的设计在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花
2017-03-31 10:56:02 594
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人