自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 利用Mysql 高效 实现排行榜&我的排名&距离上名分数

需求: 根据分数查出排行榜(若分数相同,根据得分时间先来后到),并查询出自己的排名,和自己上一名的用户分数信息。思路: 根据 积分、更新时间、userId 做联合索引。从而根据积分排序直接走索引。此处注意mysql索引默认是正序排列(mysql 8 退出倒序索引,),所以需求根据时间先来后到则是 score DESC,upd_score_dt ASC.如果排序两字段方向不一致则会产生 filesort。建表:CREATE TABLE `rank` ( `id` cha...

2020-06-14 22:13:58 1822

原创 api接口加密

Https加密过程及作用 https保证传输过程的安全。注意是‘传输过程’,也就是说,客户端请求服务器的过程中,请求被中间人拦截,中间人拿到的是被加密过后的数据,无法解密的。加密的过程: 这里涉及两个概念。1.对称加密 对称加密,双方商定一个密码并同时持有,该密码可对数据进行加密解密。比较典型的加密算法:AES。2.非对称加密 RSA比较...

2020-05-07 13:55:43 1113

原创 sqlserver通用稳定的拼接SQL分页语句方案

经常接触到的mysql,拼接SQL分页语句直接在sql尾部加上limitx,x,既不污染原SQL,又够方便整洁。最近做多数据源动态查询,需要支持多种数据库,分页问题随之而来,像mysql、oracle这些拼串方式不再赘述。高版本的sqlserver(2012)其实也支持如mysql中limit这种分页方式。offset /fetch nex:select * from s...

2019-08-13 14:27:45 840 1

原创 【springCloud】搭建简单的 高可用 服务注册中心、服务提供和服务消费

Eureka用于服务中心与服务注册,Ribbon用于服务消费。 搭建服务消费中心pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-...

2018-12-30 16:49:56 169 1

原创 mongoTemplate 分组查询的坑

Aggregation agg = Aggregation.newAggregation( Aggregation.match(new Criteria().orOperator(new Criteria("to").is(ukey), new Criteria().and("fromAccount").is(ukey))), Ag...

2018-12-13 13:57:29 2095

原创 【请求去重】java基于分布式锁解决重复请求问题

问题:开发app时,app快速连续点击会向服务器连续发起请求,导致数据库出现重复数据。解决思路:对用户唯一标示+请求uri+请求参数进行去重。1、利用jvm BlockingQueue堵塞队列,来一条请求判断是否存在队列,不存在添加,存在去除。优点:消耗资源较小。缺点:在分布式下,请求会分发在不同服务器上。2、利用分布式锁,redis、zokeeper等,进行加锁。优点...

2018-10-16 19:16:13 4777

原创 mybatis报错 Result Maps collection does not contain value for java.lang.Integer

 java.lang.IllegalArgumentException: Result Maps collection does not contain value for java.lang.Integerat org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:797)at org.apac...

2018-08-31 11:04:05 1499

原创 【记录】java 实现 “消息回复率”

规则:用户A给用户B发送一条消息,24小时内如果B回复了A,给B增加消息回复率,超过24小时则扣回复率。           只拿一个月的回复数据计算,回复率初始值(用户未)为0%。 从消息服务器,拿到俩个用户的id,利用redis做会话锁。思路:比如用户A 给用户B发送一条消息,key值设置为A-B,value为当前时间的时间戳,从redis中查询key值 A-B 或者 B-A ...

2018-08-24 18:44:35 423

原创 java “GC”

什么是“GC”垃圾回收机制。为什么要用“GC”众所周知,JAVA 这语言,与C语言不同,Java内存(堆内存)的分配与回收由JVM垃圾收集器自动完成,比如 C语言自己定义的变量,不用时需要 自己回收这个变量 。JAVA 这就是自动完成了,自动检测,无用的垃圾,回收,从而释放内存。一个人工,一个自动化。先看一下JVM内存结构栈:存放局部变量堆:存放所有new出来的东西方法区:被虚拟机加载的类信息、常...

2018-07-08 15:10:48 103

转载 Lock和synchronized的区别和使用

Java并发编程:Lock今天看了并发实践这本书的ReentantLock这章,感觉对ReentantLock还是不够熟悉,有许多疑问,所有在网上找了很多文章看了一下,总体说的不够详细,重点和焦点问题没有谈到,但这篇文章相当不错,说的很全面,主要的重点都说到了,所有在这里转载了这篇文章。  在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问。本文我们继续来探讨这个问题,从...

2018-06-25 10:21:06 103

转载 Java高效并发之乐观锁悲观锁、(互斥同步、非互斥同步)

乐观锁和悲观锁首先我们理解下两种不同思路的锁,乐观锁和悲观锁。这两种锁机制,是在多用户环境并发控制的两种所机制。下面看百度百科对乐观锁和悲观锁两种锁机制的定义:乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁机制采取了更加宽松的加锁机制。悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。但随之而来的就是数据库性能的大量开销,特别是对长事务而言,这样的开...

2018-06-20 08:20:21 135

原创 Hystrix开启request cache

用filter初始化hystrixRequestContext public class HystrixRequestContextFilter implements Filter{ public void init(FilterConfig filterConfig) throws ServletException { } public void doFilter(ServletReques...

2018-06-15 08:20:30 238

转载 【MySQL】20个经典面试题,全部答对月薪10k+

Part1:写在最前2015年,很倒霉的一年。满心欢喜的从国企出来,进入互联网,本以为自己的技术还算可以,结果面试缕缕碰壁。原因说出来也不怕大家笑话,本人从不背什么面试题,一直属于想到哪就说到哪那种。也因为如此,楼主错过了一家比较不错的公司面试机会~后来的面试期间,积累了不少面试题,下面我就拿出来,和大家分享下,希望能帮助大家找到满意的工作,有些题目是原题,有些是我认为一个优秀的DBA应该懂得的题...

2018-06-12 21:15:40 658

原创 面试之HashMap

一、 HashMaphashMap和hashTable 比较老的问题,一般是传统企业会问这种区别。Hash:散列将一个仁义的长度通国某种(hash函数算法)算法转换成一个固定值。移位Mao:地图 x,y存储总结:通过HASH出来的值 然后通过值定位到这个map 然后value存储到这个mao中的hashMap基本原理       Key,valuehash冲突  会把之前的对象存储在next里但是...

2018-06-12 15:23:17 575

原创 maven热部署到tomcat

1添加tomcat用户,在conf/tomcat-user.xml文件下添加一个tomcat用户123<role rolename="manager-gui"/><role rolename="manager-script"/><user username="tomcat" password="123456" roles="manager-gui,

2018-06-12 10:08:52 147

原创 基于storm实时热点统计的分布式并行缓存预热解决方案

缓存冷启动,redis启动后,一点数据都没有,直接就对外提供服务了,mysql就裸奔(1)提前给redis中灌入部分数据,再提供服务(2)肯定不可能将所有数据都写入redis,因为数据量太大了,第一耗费的时间太长了,第二根本redis容纳不下所有的数据(3)需要根据当天的具体访问情况,实时统计出访问频率较高的热数据(4)然后将访问频率较高的热数据写入redis中,肯定是热数据也比较多,得多个服务并...

2018-06-08 11:49:41 1019

原创 数据库到底需不需要设置外键?

在大型系统中(性能要求不高,安全要求高),最好使用外键(外键可以增强数据库数据的完整性和一致性)在大型系统中(性能要求高,安全自己控制),不用外键(有外键约束的话,插入字段会进行检查,影响效率)小系统,最好用外键用外键要适当,不能过分追求不用外键而用程序控制数据一致性和完整性时,应该写一层来保证,然后具体应用通过这个层来访问数据库(比如外键约束都转交给dao层)...

2018-06-08 08:27:54 10535

原创 base64码通过http传输 +号变 空格 问题解决

通过七牛云base64上传图片,通过官方示例上传成功后,根据示例改了一个controller。通过前端往后端传base64码形式进行测试。死活不通过,七牛报400。仔细排查后发现,示例转换的base64码与前端传来的base64码稍有区别,前端通过post传入的base64码将 “+”  号改成了  空格 。网上解决方案前台处理 :java方法:URLEncoder.encode(str,"UTF...

2018-06-07 22:15:16 22851 4

原创 记录一次nginx+lua

[root@eshop-cache01 ~]# cd /usr/hello/[root@eshop-cache01 hello]# lltotal 16-rw-r--r--. 1 root root  291 Apr 26 18:18 hello.confdrwxr-xr-x. 2 root root 4096 Jun  6 00:07 luadrwxr-xr-x. 6 root root 409...

2018-06-07 10:59:07 213

原创 strom 在linux下部署、基本命令

部署(1)安装Java 7和Pythong 2.6.6 (2)下载storm安装包,解压缩,重命名,配置环境变量 (3)修改storm配置文件 mkdir /var/storm conf/storm.yaml storm.zookeeper.servers:  -"111.222.333.444"  -"555.666.777.888" storm.local.dir: "/mnt/storm" ...

2018-06-05 20:24:22 357

转载 面向切面编程(AOP)

面向切面编程 Aspect Oriented Programming(AOP),面向切面编程,是一个比较热门的话题。AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分之间低耦合性的隔离效果。比如我们最常见的就是日志记录了,举个例子,我们现在提供一个查询学生信息的服务,但是我们希望记录有谁进行了这个查询。如果按照传统的OOP的实现的...

2018-06-04 19:48:36 96

转载 TCP协议中的三次握手和四次挥手(图解)

建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。【更新于2017.01.04 】该部分内容配图有误,请大家见谅,正确的配图如下,错误配图也不删了,大家可以比较下,对比理解效果更好。这么久才来更新,抱歉!!错误配图如下:首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文...

2018-06-04 16:06:56 94

原创 数据库查询优化原则

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。  2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:  select id from t where num is null  可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:  select id f...

2018-06-04 15:27:31 849 1

原创 mysql优化

mysql查询优化技巧:不能使用SELECT *、不使用NULL字段、合理创建索引、为字段选择合适的数据类型MySQL查询过程 客户端/服务端通信协议 MySQL客户端/服务端通信协议是“半双工”的:在任一时刻,要么是服务器向客户端发送数据,要么是客户端向服务器发送数据,这两个动作不能同时发生。一旦一端开始发送消息,另一端要接收完整个消息才能响应它,所以我们无法也无须将一个消息切成小块独立发送,也...

2018-05-23 22:39:38 119

IKAnalyzer 2012FF_hf1 中文分词器

IKAnalyzer 2012FF_hf1 中文分词器 IKAnalyzer 2012FF_hf1 中文分词器

2018-03-06

空空如也

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

TA关注的人

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