自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (12)
  • 收藏
  • 关注

原创 SpringBoot获取登录用户IP

在SpringBoot里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将http://192.168.1.110:2046/的URL反向代理为http://www.abc.com/的URL时,用...

2019-08-29 10:36:02 19294 1

原创 Springboot 2.0选择HikariCP作为默认数据库

HikariCP链接https://github.com/brettwooldridge/HikariJSONHikariCP介绍 HiKariCP是数据库连接池的一个后起之秀,号称性能最好,可以完美地PK掉其他连接池,是一个高性能的JDBC连接池,基于BoneCP做了不少的改进和优化。其作者还有另外一个开源作品——高性能的JSON解析器HikariJSON。它,超快,快...

2019-08-28 17:23:32 679

转载 使用curl命令查看请求响应时间方法

curl命令查看请求响应时间#curl-o/dev/null-s-w%{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}::%{speed_download}"\n""http://www.36nu.com"0.014::0.015::0.018::0.019::1516256.0...

2019-08-28 16:19:51 16198

转载 openresty通过lua增加随机traceid

在没有引入zipkin(或者阿里的鹰眼,百度的华佗)这种trace系统的时候,排查问题的一般思路都是按照请求链路来寻找问题源。因此如果能在请求链路中有一个唯一的标识就最好了,而在nginx/openresty做接入层的架构中,可以通过lua脚本生成一个随机traceid。随机数的生成原理,都是先初始化一个随机数种子,由于伪随机数的特性,种子的随机性就显得格外重要,而一般种子的生成都是通过时间的...

2019-08-26 14:32:24 1236 1

原创 ##【Spring-Boot 2.3.1】 application.properties配置详解 ##

Spring-Boot官方开发指导文档:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/默认创建spring-boot项目后,会在resources目录下生成一个空的application.properties配置文件,springboot启动时加载该配置文件。applicat...

2019-08-22 16:24:31 2732

转载 spring boot使用mybatis redis cache 缓存

背景: 最近公司项目中需要引入缓存机制来减轻数据库负载,所以对一些缓存方案进行了研究,其中包括看了几篇讲mybatis的二级缓存的,写的都很不错,推荐美团的一篇:聊聊MyBatis缓存机制对mybatis的缓存机制讲的很清楚了。博主在本文提供一种使用redis的hash结构来实现mybatis的二级缓存方案,初次尝试,如有疑问欢迎指正。环境:jdk 1.8ide:Intell...

2019-08-22 11:34:47 5805 2

转载 Spring缓存注解@Cacheable、@CacheEvict、@CachePut使用

从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。所以在使用Spring Cache的时候我们要保...

2019-08-22 11:11:12 3400 2

转载 分布式之数据库和缓存双写一致性方案解析

为什么写这篇文章?首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。文章结构本文由以下三...

2019-08-20 18:12:10 268

原创 Redis 5.0.5 redis.conf 配置文件说明

Redis 5.0.5 配置文件说明一般配置#修改daemonize为yes,即默认以后台程序方式运行(跟使用&号强制后台运行是一个意思)daemonize yes#修改默认监听端口(一般用默认的)port 6379#修改生成默认日志文件位置logfile "/home/logs/redis/redis.log"#配置持久化文件存放位置dir /home/...

2019-08-20 18:08:45 3162

原创 超实用压力测试工具-ab工具(Apache Haus)

在学习ab工具之前,我们需了解几个关于压力测试的概念 吞吐率(Requests per second) 概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。 计算公式:总请求数 / 处理完成这些请求数所花费的时间,即 Request per second = Complet...

2019-08-20 18:00:06 1848

原创 sql大查询left join拆分优化,去掉临时表

本文讲解如何把一条带有一个或多个left join或right join的sql语句拆分成多条sql语句。 MySQL进行连表查询效率是很低的,特别是数据很大,而且并发量很高的情况,索引都无法解决问题,最好的办法就是把sql语句拆分成多条单表查询的sql。 公司电商网站现在要做网站服务化,用java做中间件,PHP调用java接口获取数据,数据表也进行了拆分,分库,要求...

2019-08-15 17:38:03 11993

原创 灰度发布GrayRelease/Dark launch详解

最近项目需求,研究了一下灰度发布,网上查了查,这里记录一下。什么是灰度发布 灰度发布(又名金丝雀发布,英文一般称为GrayRelease或Dark launch)是为了能够让用户逐步过渡到新功能一种发布方式。一般是产品上线一个功能,希望在线上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范...

2019-08-15 17:17:02 12621

原创 Mybatis分页插件PageHelper的配置和使用

最近项目用到sprint boot +Mybatis,有个分页需求,网上查了查PageHelper的使用,这里记录一下。1. MySQL对分页的支持简单来说MySQL对分页的支持是通过limit子句。请看下面的例子。limit关键字的用法是 LIMIT [offset,] rows offset是相对于首行的偏移量(首行是0),rows是返回条数。# 每页10条记录,取第一...

2019-08-14 17:12:28 2155

原创 mybatis详解,mybatis一级二级缓存机制,以及Ehcache & Redis对比

最近项目需要研究mybatis,网上查了一下资料,这里记录一下一、一二级缓存mybaits提供一级缓存,和二级缓存。二、二级缓存分布式实现 mybatis中默认自带的二级缓存实现(PerpetualCache)是无法做到分布式的。 Java提供了一个开源的分布式缓存EhCache。它是一个纯Java的开源分布式缓存(进程内缓存),具有快速、精干等特...

2019-08-12 16:55:04 1818 1

原创 CentOS 7 安装 JAVA环境(JDK 1.8)

下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html记得先勾选接受协议,这里我选择的是:Linux 64位版本,你们可以根据自己需求选择。必须自己要先登录www.oracle.com官网账号,获取下载权限! 值得注意的是下载这里有个鉴权,如果你...

2019-08-07 10:23:39 138

原创 ### java8之collector详解,以及结合toMap,sorted,groupingBy使用例子

最近接触到java8的collector功能,网上查了下资料学习,这里记录一下。 collect方法,它是一个能够把stream管道中的结果集装进一个List集合的终极操作。 collect是一个把stream规约成一个value的规约操作,这里的value可以是一个Collection、Map或者一个value对象。在下面这几种情况下,可以使用collect操作。 把stream...

2019-08-05 15:22:55 6706

原创 Java 数据类型和 MySql 数据类型对应一览表

1 数据类型说明 MySQL Connector/J 对于 MySql 数据类型和 Java 数据类型之间的转换是很灵活的。 一般来讲,任何 MySql 数据类型都可以被转换为一个 java.lang.String,任何 MySql 数字类型都可以被转换为任何一种 Java 数字类型(当然这样也可能出一些四舍五入,溢出,精度丢失之类的问题)。转换表...

2019-08-05 14:22:54 1018

原创 SQL索引建立原则和使用

之前在网上看到过很多关于mysql联合索引最左前缀匹配的文章,自以为就了解了其原理,发现遗漏了些东西,这里自己整理一下这方面的内容。1 前言SQL索引有两种,聚集索引和非聚集索引聚集索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储并不连续字典的拼音查询法就是聚集索引,字典的部首查询就是一个非聚集索引.聚集索引和非聚集索引的根本区别是表记录的...

2019-08-02 13:31:54 21066

转载 sql语句中条件查询in、like、=的效率

1、如果条件字段都是非索引字段,那么效率都差不多,就看结果大小。2、有差别的在于条件字段是索引字段时: “=”在索引的情况下都会进行索引扫描,所以效率总是高的。 “like”当模糊查询为右模糊,比如'abc%'时,扫描索引,高效。当模糊查询含左模糊时,比如'%abc',进行全表扫描,低效。 “in”的作用等同于or,也是进行索引扫描,高效。 另外,“in”还可以...

2019-08-01 15:52:46 37676 2

原创 spring boot 定时器

简单两步,实现在spring boot中配置和使用定时器:1、在入口类中加入@EnableScheduling注解:@SpringBootApplication@EnableSchedulingpublic class MySpringBootApplication { private static Logger logger = LoggerFactory.getLogger...

2019-08-01 13:52:29 461

转载 sql where 和on 的区别

数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。在使用left jion时,on和where条件的区别如下:1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了...

2019-08-01 13:27:50 6833

Linux服务器架设指南——第1章

主要讲解网络硬件知识,是《Linux服务器架设指南》书的第一章

2010-05-24

c+c++程序员面试宝典.CHM

该书详细介绍了程序员面试时所需注意的事项,供大家参考学习。

2010-04-25

Linux 下sendmail邮件系统的详细配置

该文件说明了Linux下sendmail邮件系统的详细配置,为Linux初学者来说,提供了简洁的sendmail配置教程

2010-04-25

Linux 用 C实现的邮件发送程序

改程序用c语言在linux环境下编写,成功发送邮件。

2010-04-25

linux 定时发送邮件 应用sendmail技术

由于自己记性太差,很难记住朋友的生日,所以突发奇想,写了个简单的shell程序,主要目的就是为了能在固定的节日(如:圣诞、元旦等,可以指定)和朋友生日的时候自动给朋友发送祝福信件,同时密送给自己,程序虽然简单,达到了自己需要的效果。 特地共享出来和大家一起分享,修改mail_check.sh程序的变量,最好每天8点执行,显得比较真实,其它的配置文件在conf目录下。

2010-04-25

C 语言编写一个网络蜘蛛(网络爬虫)

该文档详细介绍了网络蜘蛛(网络爬虫),并附带c语言开发的爬虫代码,对爬虫初学者很有用。

2010-04-25

中文分词算法介绍、分类详解

该文档详细介绍了中文分词的原理及相应的技术。文档讲解了最大匹配法(Forward Maximum Matching method, FMM法)、正向最大匹配法(由左到右的方向)、逆向最大匹配法(由右到左的方向)、最少切分(使每一句中切出的词数最小)。

2010-04-25

中文编码基础知识介绍

该书详细介绍了GB2312、GBK、BIG5、GB18030、UTF_8字符集等编码,为编码初学者提供了详细信息。

2010-04-25

中文编码规范详细介绍

该文档详细介绍了GB2312、Unicode、UTF-8、UTF-16等编码,对初步想编码的程序呀很有帮助。

2010-04-25

spider网络爬虫源代码

这是一个spider网络爬虫源代码,用c++完成的,主要是为搜索引擎研究者提供很好的材料,为初学者提供代码。大家可以互相学习学习。

2009-01-15

Cluence搜索引擎源码

这个是c版的luence。了解搜索引擎的人都知道luence是一个很好开源搜索引擎,他开始主要是java版的,但现在为大家提供一个c版的luence ,希望对大家有用,大家互相学习学习。

2009-01-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除