自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hello World

下午可以不下雨吗

  • 博客(31)
  • 资源 (4)
  • 收藏
  • 关注

原创 基于Redis实现限制登录功能

title具体代码实现需求:用户在2分钟内,仅允许输入错误密码5次。如果超过次数,限制其登录1小时。(要求每登录失败时,都要给相应提式)思路:**1、**判断当前登录的用户是否被限制登录    1.1如果没有被限制(执行登录功能)2、 判断是否登录成功    2.1登录成功–>(清除输入密码错误次数信息)    2.2登录不成功   

2020-07-25 10:45:43 1612

原创 使用RedisTemplate报错ERR value is not an integer or out of range

在用RedisTemplate时候报错ERR value is not an integer or out of range,经过排查发现是RedisTemplate操作自增时侯报错。redisTemplate.opsForValue().increment(keyLoginFail,1);原因有二:一:序列化的问题:只有使用StringRedisSerializer序列化器才能使用incrment方法解决:在redis配置中加入以下代码// 在使用注解@Bean返回RedisTemplat

2020-07-23 21:36:11 3993

原创 java.lang.String cannot be cast to java.lang.Integer

今天在将string 转为int类型时候报错:java.lang.String cannot be cast to java.lang.Integer原因:在将String类型强制转换成Integer时语法没错,但是在编译的时候会报java.lang.String cannot be cast to java.lang.Integer解决:使用Valueof()...

2020-07-23 21:25:39 1069

原创 thyme leaf不能直接访问templates下的html页面

搞忘了,要通过controller来跳转到html页面,不能直接访问templates下的html页面比如要到达index2.html则在controller中

2020-07-23 21:00:14 307

原创 JavaMail发送邮件

package com.java_lettuce.Util;import java.util.Properties;import javax.mail.Address;import javax.mail.Message;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;

2020-07-22 20:50:33 181

原创 基于Redis实现邮箱发送验证码功能

title需求:用户在客户端输入邮箱,点击发送后随机生成4位数字码。有效期为40秒。输入验证码,点击验证,返回成功或者失败。前端页面<!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org" ><head> <meta charset="UTF-8"> <title>Title</title></head><s

2020-07-22 20:44:04 1233 2

原创 IDEA引入外部jquery文件“$“仍然显示Unresolved function or method $()

问题:今天准备写一个新的测试页面,然后从外部引入jQuery文件。但是当我去写jQuery语法时候,"$"仍然显示Unresolved function or method $()。原因: 我引入的是jQuery.min文件 所以会出现这个问题。解决: 在百度一段时间后,发现大部分都是无脑复制粘贴。。。根本无法解决问题。最后在IDEs Support (IntelliJ Platform) | JetBrains发现了一个类似问题。大概就是使用缩小的库版本(jquery-3.3

2020-07-22 15:46:16 1055 2

原创 SpringBoot2.x中redis使用(lettuce)

文章目录测试String类型测试hash类型pom.xml中添加如下依赖 <!--默认是lettuce客户端--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </d

2020-07-22 12:03:10 527 3

原创 SpringBoot整合Jedis

文章目录Jedis操作String类型Jedis操作Hash类型我们在使用springboot搭建微服务的时候,在很多时候还是需要redis的高速缓存来缓存一些数据,存储一些高频率访问的数据,如果直接使用redis的话又比较麻烦,在这里,使用jedis来实现redis缓存来达到高效缓存的目的引入依赖:<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId

2020-07-22 11:43:59 406

原创 IDEA单元测试巨恶心的坑

今天用idea单元测试,一直卡在resolving dependencies。网上各种办法查询都无效。最后解决的办法如下:1、我最开始没有在springboot启动选项里面选择junit模块。于是在pom文件中添加如下依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId>

2020-07-21 20:54:19 1502

原创 idea创建Springboot项目MAVEN依赖出错

今天新建一个spring boot项目,其中的<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin>一直标红。原因: maven配置文件的问题。因为是新创建的项目,导致默认使用了idea自带的maven。解决办法: 在设置里面切换成自己的maven然后ma

2020-07-20 11:50:38 1055

原创 常用命令

文章目录Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)等keys * : 返回满足的所有键 ,可以模糊匹配 比如 keys abc* 代表 abc 开头的 keyexists key :是否存在指定的key,存在返回1,不存在返回0expire key second:设置某个key的过期时间 时间为秒del key:删除某个keyttl key:查看剩余时间,当key不存在时,返回 -2;存在但没

2020-07-19 21:10:59 146

原创 Redis 安装、启动、关闭、配置详解

文章目录Redis安装Redis安装Redis是C语言开发,安装Redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc安装gccgcc的安装很简单,首先要确保root登录,其次就是Linux要能连外网yum -y install gcc automake autoconf libtool make注意:运行yum时出现/var/run/yum.pid已被锁定,PID为xxxx的另一个程序正在运行的问题的解决办法:rm -f /var/run/yum.

2020-07-18 22:03:41 360

原创 Redis简介

文章目录什么是RedisNoSQLNoSQL的类别NoSQL数据库适用情况Redis优、缺点什么是RedisRedis 是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。BSD是"Berkeley Software Distribution"的缩写,意思是"伯克利软件发行版"。 BSD开源协议是一个给于使用者很大自由的协议。

2020-07-18 15:24:47 912

原创 MySqL锁机制

MDL不需要显式使用,在访问一个表的时候会被 自动加上。MDL的作用是,保证读写的正确性。你可以想象一下,如果一个查询正在遍历一个 表中的数据,而执行期间另一个线程对这个表结构做变更,删了一列,那么查询线程拿到的结果 跟表结构对不上,肯定是不行的。因此,在MySQL 5.5版本中引入了MDL,当对一个表做增删改查操作的时候,加MDL读锁;当 要对表做结构变更操作的时候,加MDL写锁。读锁之间不互斥,因此你可以有多个线程同时对一张表增删改查。读写锁之间、写锁之间是互斥的,用来保证变更表结构操作的安全性。

2020-07-17 12:10:49 469 1

原创 分析海量数据

文章目录模拟海量数据分析海量数据模拟海量数据通过 存储过程(无return)/存储函数(有return)来模拟。create database testdata ;use testdatacreate table dept(dno int(5) primary key default 0,dname varchar(20) not null default '',loc varchar(30) default '')engine=innodb default charset=utf8;

2020-07-16 14:51:38 250

原创 慢SQL排查

文章目录慢查询日志慢查询阀值:查询超过阀值的SQL慢查询日志慢查询日志:MySQL提供的一种日志记录,用于记录MySQL种响应时间超过阀值的SQL语句 (long_query_time,默认10秒)慢查询日志默认是关闭的;建议:开发调优时 打开,而 最终部署时关闭。检查是否开启了 慢查询日志 :show variables like '%slow_query_log%' ;①临时开启:set global slow_query_log = 1 ; --在内存种开启 在mysql服务重

2020-07-16 14:31:09 1433

原创 避免索引失效的一些原则

文章目录1、复合索引a.复合索引,不要跨列或无序使用(最佳左前缀)b.复合索引,尽量使用全索引匹配2、不要在索引上进行任何操作(计算、函数、类型转换),否则索引失效例如select ..where A.x = .. ; --假设A.x是索引不要:select ..where A.x*3 = .. ;explain select * from book where authorid = 1 and typeid = 2 ;--用到了at2个索引explain select * fro

2020-07-16 12:23:09 326

原创 优化案例

文章目录单表优化两表优化三张表优化A B C单表优化准备数据:create table book( bid int(4) primary key, name varchar(20) not null, authorid int(4) not null, publicid int(4) not null, typeid int(4) not null );insert into book values(1,'tjava',1,1,2) ;insert into book values

2020-07-15 14:21:20 266

原创 Unknown column ‘EntryTime‘ in ‘field list‘

今天在写一个Demo时候,一直往数据库插入不进去数据。持续报错Unknown column ‘EntryTime’ in ‘field list’经过检查,是数据库EntryTime字段前面多了个空格。应该是建表的时候不小心加上了…

2020-07-11 22:24:01 260

原创 执行计划

文章目录两个问题执行计划两个问题a.分析SQL的执行计划 : explain ,可以模拟SQL优化器执行SQL语句,从而让开发人员 知道自己编写的SQL状况b.MySQL查询优化其会干扰我们的优化执行计划查询执行计划: explain +SQL语句例如:explain select * from tb ;id : 编号 select_type :查询类型table :表type :类型possible_keys :预测用到的索引key :实际使用的索引k

2020-07-11 14:08:07 279

原创 索引

文章目录分类创建索引删除索引查询索引BTree检索原理分类主键索引: 不能重复。id 不能是null唯一索引 :不能重复。id 可以是null单值索引 : 单列, age ;一个表可以多个单值索引,name。复合索引 :多个列构成的索引 (相当于 二级目录 : z: zhao) ;例如查字典要查zhao,先找到Z,然后再去Z的目录下找zhao创建索引方式一:create 索引类型 索引名 on 表(字段)举例:<假设有tb表(id,name,dept)

2020-07-10 22:48:18 191

原创 SQL优化

文章目录为什么要进行SQL优化优化Sql解析顺序索引的优缺点为什么要进行SQL优化原因:性能低、执行时间太长、等待时间太长、SQL语句欠佳(连接查询)、索引失效、服务器参数设置不合理(缓冲、线程数)优化a.SQL :例如自己编写了一个SQL语句select dinstinct ..from ..join ..on ..where ..group by ...having ..order by ..limit ..数据库会按照一下顺序来解析:from .. on.. join ..whe

2020-07-10 12:02:39 152

原创 SQL语句优化原理

文章目录首先客户端发送sql语句,服务端的连接层收到语句将语句传递给服务层,服务层将语句进行优化再由引擎层决定由什么引擎执行,再将数据进行存储。MYSQL逻辑分层 :连接层 服务层 引擎层 存储层引擎层的默认引擎:InnoDB(默认) :事务优先 (适合高并发操作;行锁)MyISAM :性能优先 (表锁)查询数据库引擎: 支持哪些引擎 show engines ;查看当前使用的引擎:show variables like '%storage_engine%' ;指定数据库

2020-07-09 22:53:19 298

原创 LINUX安装mysql

文章目录MySQL的版本安装步骤服务启动关闭存放目录与配置文件详解字符编码设置MySQL的版本5.x:5.0-5.1:早期产品的延续,升级维护5.4 - 5.x : MySQL整合了三方公司的新存储引擎 (推荐5.5)安装步骤1、先把Mysql客户端服务端传到LINUX2、安装:rpm -ivh rpm软件名如果安装时 与某个软件 xxx冲突,则需要将冲突的软件卸载掉:yun -y remove xxx安装时 有日志提示我们可以修改密码:/usr/bin/mysqladm

2020-07-09 22:39:17 161

原创 Dubbo和zookeeper的关系

QAQ简单来说打个比方:dubbo就是动物园的动物,zookeeper是动物园。如果游客想看动物的话那么就去动物园看。比如你要看老虎,那么动物园有你才能看到。换句话说我们把很多不同的dubbo(动物)放到zookeeper(动物园中)提供给我们游客进行观赏。这个过程中三个关键:场所、供给者、消费者。再说一个分布式的项目,server(消费)层与 service(供给)层被拆分了开来, 部署在不同的tomcat中, 我在server层需要调用 service层的接口,但是两个运行在不同tomcat下的服

2020-07-09 12:23:57 1290

原创 Zookeeper CLI

文章目录ZooKeeper命令行界面(CLI)用于与ZooKeeper集合进行交互以进行开发。它有助于调试和解决不同的选项。要执行ZooKeeper CLI操作,首先打开ZooKeeper服务器(“bin/zkServer.sh start”),然后打开ZooKeeper客户端(“bin/zkCli.sh”)。示例操作:1、创建Znodescreate /path /data创建顺序节点:create -s /path /data创建临时节点:create -e /path

2020-07-08 17:00:52 441

原创 Zookeeper 安装及启动

文章目录1、安装好java环境2、下载zookeeper,传到Linux,并且解压到apps文件夹下3、重命名zookeeper的配置文件:zoo_sample.cfg改名为zoo.cfg4、在zoo.cfg中:可以发现 zookeeper的端口号是 clientPort=21815、在zookeeper文件夹下新建data文件夹,将zoo.cfg中的dataDir=xxxx更改为dataDir=/apps/zookeeper-3.4.14/datadataDir是zookeeper保存数据的

2020-07-08 15:54:09 1396

原创 Zookeeper leader选举

文章目录考虑一个集群中有N个节点。leader选举的过程如下:所有节点创建具有相同路径 /app/leader_election/guid_ 的顺序、临时节点。ZooKeeper集合将附加10位序列号到路径,创建的znode将是 /app/leader_election/guid_0000000001,/app/leader_election/guid_0000000002等。对于给定的实例,在znode中创建最小数字的节点成为leader,而所有其他节点是follower。每个f

2020-07-08 15:12:08 197

原创 Zookeeper 工作流

文章目录组件描述写入(write)写入过程由leader节点处理。leader将写入请求转发到所有znode,并等待znode的回复。如果一半的znode回复,则写入过程完成。读取(read)读取由特定连接的znode在内部执行,因此不需要与集群进行交互。复制数据库(replicated database)它用于在zookeeper中存储数据。每个znode都有自己的数据库,每个znode在一致性的帮助下每次都有相同的数据。LeaderLeader是负责处理

2020-07-08 14:55:48 227

原创 zookeeper基础知识

文章目录什么是Apache ZooKeeper分布式应用的优缺点zookeeper提供的常见服务zookeeper架构< Architecture >zookeeper层次命名空间什么是Apache ZooKeeperApache ZooKeeper是由集群(节点组)使用的一种服务,用于在自身之间协调,并通过稳健的同步技术维护共享数据。ZooKeeper本身是一个分布式应用程序,为写入分布式应用程序提供服务。通过将分布式应用配置为在更多系统上运行,可以进一步减少完成任务的时间。分布式应用正

2020-07-08 14:00:56 827

分布式面试题总结总结总结总结

分布式面试题总结总结总结总结

2021-04-28

Mysql调优.xmind

学习Mysql调优时候所画的思维导图

2021-01-15

JVM底层原理课件PPT

JVM视屏教程对应的PPT课件。发布在这里保存一下。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2020-09-11

FTP服务器配置步骤详解.pdf

此资源是为了对应我的那篇博客,解决FTP服务搭建的详细问题,作为一个入门的教程来上传的。里面记载了在Linux服务器下如何搭建FTP服务的详细步骤,以及常见问题的解决方法。

2020-05-27

空空如也

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

TA关注的人

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