5 赵亚兰

北京九曜智能科技有限公司 - 软件工程师

我要认证

hello程序媛

等级
TA的排名 1w+

Nginx 入门知识

1 Nginx 与 Nginx 中的反向代理Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,具有正反向代理,负载均衡,HTTP 服务器等功能,以其高性能、稳定、功能丰富、配置简单及占用系统资源少而著称。正向代理与反向代理的区别在正向代理中,客户端是可以明确知道服务器地址的,客户端会把请求发送给代理,代理再把请求转发给服务器,那么响应的传递顺序也是服务器 -> 代理 -> 客户端,客户端知道服务器,而服务器不知道客户端,事实上隐藏了客户端的真实信息。与正向代理相反,反

2020-05-27 15:50:09

ThreadLocal使用--缓存

在微服务中需要经常查询一些共用的东西,比如当前登录用户id,不断跨服务查询会消耗性能,使用ThreadLocal缓存起来使用更方便//存:private ThreadLocal<String> currentUser= new ThreadLocal<>();currentUser.set(userId);//使用:userId=currentUser.get();//清除:currentUser.remove();因为每个线程可能携带不同的user.

2020-05-25 17:14:51

Eureka使用小案例

Eureka架构中的三个核心角色:服务注册中心:Eureka的服务端应用,提供服务注册和发现功能,就是刚刚我们建立的eureka-demo 服务提供者:提供服务的应用,可以是SpringBoot应用,也可以是其它技术实现,只要对外提供的是Rest风格服务即可。 服务消费者:消费应用从注册中心获取服务列表,从而得知每个服务方的信息,知道去哪里调用服务方。Eureka就好比是滴滴,负责管理、记录服务提供者的信息。服务调用者无需自己寻找服务,而是把自己的需求告诉Eureka,然后Eureka会把符合你.

2020-05-20 17:40:34

mysql order by按照汉字拼音进行排序

直接对汉字对应的字段使用order by,查询的结果并不按照所预期的按照汉字对应拼音进行排列出现这个问题的原因是因为MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认的字符集,因此在比较过程中中文编码字符大小写转换造成了这种现象。解决方法:修改查询语句:在查询语句的order by部分使用 CONVERT函数。select * from student uorder by CONVERT(u.name USING GBK) asc;...

2020-05-19 16:36:12

group by 多个字段

select * from test1; 结果如下图:第二次查询 按照 b列来分组 代码如下select count(a),b from test1 group by b;第三次 按照 c列来分组 代码如下select count(a),c from test1 group by c;第四次 按照 b c两个条件来分组select count(a),b,c from test1 group by b,c;可以看出 group by 两...

2020-05-18 17:15:47

一张表的多个字段关联另外一张的同一个字段(获取不同操作人名称)

请假需要层层审批,每次审核存储当前审批人id,需要关联查出对应的名称方式一:(复杂且性能不佳)ELECTabsence.id, ( SELECT name FROM users WHERE absence.first_user_id= users.id ) AS firstName, ( SELECT name

2020-05-15 11:56:09

group by 和 order by 一起使用问题处理

group by 和 order by 一起使用时,会先使用group by 分组,并取出分组后的第一条数据,所以后面的order by 排序时根据取出来的第一条数据来排序的,但是第一条数据不一定是分组里面的最大数据。解决方案:可以先排序,再分组,再排序:使用子查询。SELECT r.id, r.uid, r.age , r.datatimeFROM (SELECT...

2020-04-30 16:12:30

SQL执行顺序

SQL执行顺序:  (1)from  (2) join  (3) on  (4) where  (5)group by  (6) avg,sum.... (组函数)  (7)having  (8) select  (9) distinct  (10) order by ...

2020-04-30 15:58:11

group by与having的用法

GROUP BY我们可以先从字面上来理解,GROUP表示分组,BY后面写字段名,就表示根据哪个字段进行分组,如果有用Excel比较多的话,GROUP BY比较类似Excel里面的透视表。GROUP BY必须得配合聚合函数来用,分组之后你可以计数(COUNT),求和(SUM),求平均数(AVG)等。常用聚合函数count()计数 sum()求和 avg()平均数 max()最...

2020-04-30 15:46:02

Mysql数据库IF、IFNULL的使用

IF(expr1,expr2,expr3)如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL), 则 IF() 的返回值为 expr2;否则返回值则为 expr3select if(size=1,"大","小") as size from apple where id = '111'IFNULL(expr1,ex...

2020-04-28 14:45:57

Linux安装mysql

以mysql-5.7.24为例:一 安装前准备1、检查是否已经安装过mysql,执行命令[root@localhost /]# rpm -qa | grep mysql从执行结果,可以看出我们已经安装了mysql-libs-5.1.73-5.el6_6.x86_64,执行删除命令[root@localhost /]# rpm -e --nodeps mysql-lib...

2020-04-07 16:39:39

list stream 取两个List的交集 并集 差集

字符串list:public static void main(String[] args) { List<String> list1 = new ArrayList(); list1.add("1111"); list1.add("2222"); list1.add("3333"); List<String> list2 ...

2019-12-04 13:58:28

list stream按照对象多个属性进行排序

/*** 按照年龄正序*/personList.stream().sorted(Comparator.comparing(Person::getAge)).collect(Collectors.toList());/*** 按照年龄倒序 reversed()*/ personList.stream().sorted(Comparator.comparing(Person::g...

2019-11-12 16:24:38

list stream按对象多个属性对集合进行分组

Map<String,List<E>> result=list.stream.collect(Collectors.groupingBy(e -> e.getName() + e.getAge()));

2019-11-11 14:56:17

list.stream().mapToDouble求最大、最小、和、平均值

求数字最大、最小、和、平均值list.stream().mapToDouble(User::getAge).sum()//和list.stream().mapToDouble(User::getAge).max()//最大list.stream().mapToDouble(User::getAge).min()//最小list.stream().mapToDouble(User::ge...

2019-10-11 18:08:36

关机再开机 vs 重启哪个更有用

2019-10-11 12:50:45

缓存的使用--从缓存中获取省市区

目前微服务是企业项目运用比较多,但经常存在需要频繁调用其他模块的情况(调上千次),会导致服务崩溃。比如我遇到的在导入文件时需要对省市区进行校验,数量到达两三千时就会出问题,所以将省市区时行缓存,每次从缓存中获取数据,减少服务的调用。表结构如下:level:1--省 2--市 3--区抽象接口:AbstractCacheServicepackage com.navasmar...

2019-10-11 09:13:23

使用git命令统计代码提交行数

我们公司每个月会统计每个人千行bug率,所以,对统计代码行数研究了一下进行以下准备:1:进行你eclipse或者idea当前工程目录下2:本地安装了git管理工具3:在工程目录下右键选择【Git Bash Here】进入命令执行区,输入以下命令即可--统计某个人时间范围的提交代码git log --author="zhaoyalan" --since='2019-04...

2019-10-10 09:07:15

list.stream distinct列表去重

//去重后数量List<Object> result= ObjectList.stream() .distinct() .count();//集合对象去重List<Object> result= ObjectList.stream() .distinct() .collect(Collectors.toList());//所有名字为空的去重集合List...

2019-10-09 10:50:21

list.stream.map的使用

抽取对象中所有id的集合List<String> idList = ObjectList.stream.map(Object::getId).collect(Collectors.toList());

2019-10-09 10:24:19

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。