- 博客(43)
- 问答 (1)
- 收藏
- 关注
原创 Redis缓存设计遇到的问题及解决方案
文章目录前言一、缓存穿透?二、缓存失效(击穿)三、缓存雪崩四、热点缓存Key的重建优化五、缓存与数据库的双写不一致1、双写不一致2、读写并发不一致3、 解决方案:六、总结前言今天和大家分享Redis作为缓存使用时常见的问题以及解决方案。像缓存穿透、缓存失效(击穿)以及缓存雪崩等问题的解决。一、缓存穿透?Redis中间件在高并发的系统设计中基本上是比不可少的元素。其中在作为缓存使用时有一些问题需要我们处理好。例如缓存穿透,先解释一下什么是缓存穿透?缓存穿透是指查询一个根本不存在的数据导致缓存层和
2021-12-31 14:58:47
995
原创 一文道明Redis分布式锁的实现及原理
文章目录前言一、什么是分布式锁?二、Redis锁的实现三、Redisson的实战四、测试是否实现了分布式锁五、总结前言本文分享的是基于Redisson分布式锁的实战以及我们自己如何大致利用Redis实现分布式锁。一、什么是分布式锁?首先我们要搞清楚的就是什么是分布式锁,大家广而为知的可能是锁。像什么lock锁,synchronized锁等。那这些锁我们通常都称为JVM内部锁或者进程锁。我们知道java程序开发完成以后都是以jar或war包的形式运行,那可以这样理解,在服务器上运行一次jar或wa
2021-12-29 16:07:38
1211
原创 一文道明Redis五种数据类型常用方法和使用场景
文章目录前言一、Redis的数据结构?二、string常用方法和使用场景1.常用方法介绍2.string使用场景介绍三、hash常用方法和使用场景1.hash常用方法2.hash使用场景四、list常用方法和使用场景1.list常用方法2.list使用场景五、set常用方法和使用场景1.set常用方法2.set使用场景六、zset常用方法和使用场景1.zset常用方法2.zset使用场景六、总结前言今天分享Redis的五种数据结构以及他们在实战中的使用场景一、Redis的数据结构?我们都知道Re
2021-12-28 15:48:35
960
原创 一文道明Redis集群架构工作原理及搭建
文章目录前言一、Redis-Cluster(集群)长什么样子?二、Redis-Cluster集群搭建2.读入数据总结前言今天和大家分享一下Redis真正意义上的一种高可用架构,就是Redis-Cluster(Redis集群)。它具有复制、高可用和分片的特性。他可以完全不用sentinel哨兵也能实现节点删除和故障转移的功能。并且当主节点挂掉以后新选举主节点的速度也比sentinel快。当然,他的主节点可以有很多个。官方提供的数据是最多可以有10000个,但是官方也建议最好不要超过1000个,否则会影响
2021-12-20 11:47:45
715
原创 一文道明Redis哨兵架构工作原理及搭建
文章目录前言一、哨兵架构的原理?1 哨兵架构有什么优点呢?二、搭建哨兵架构1.搭建主从复制三、测试哨兵结构是否配置成功四、总结前言今天来分享一下Redis基于哨兵的高可用架构。主要会分享哨兵架构的原理以及搭建。一、哨兵架构的原理?那什么是哨兵架构?它有什么优点?好,我画了一个哨兵架构图,一会我也会按照图的架构进行搭建。架构图如下:解释一下这个图。可以总结出这个图包含三个部分。就是客户端、哨兵集群和主从复制。主从复制上篇已经讲过了。原理和配置都一样。这里主要分享一下哨兵集群。那什么是哨兵?哨
2021-12-15 17:00:39
2487
原创 一文道明Redis主从复制搭建及工作原理
文章目录前言一、Redis主从架构是什么?二、如何搭建主从复制1. 主节点(Master)配置2. 从节点配置3. 测试主从复制是否配置成功三、 主从复制工作原理1. 原理说明2. 原理图3. 数据的部分复制什么是主从复制风暴?总结前言今天主要还是将Redis主从相关的问题。一、Redis主从架构是什么?Redis主从架构是什么,简单来讲就是只有一个Master节点和多个Slave节点。主节点对外提供服务,从节点用来备份主节点的数据。在通俗点讲就是用户的增删改查都是在Master节点操作的,
2021-12-14 13:27:49
1007
原创 一文道明Redis持久化
一文道明Redis持久化方案的区别与关系文章目录一文道明Redis持久化方案的区别与关系本文会重点讲清楚如下问题:RDB持久化配置与详解AOF持久化配置与详解混合持久化配置与详解它们之间的区别与联系一、什么是Redis1 Redis的单线程2 单线程的Redis如何处理那么多的客户连接?3 Redis安装二、RDB持久化配置与详解这里解释一下上面提到的bgsave,这是一种写时复制机制(COW)那save和bgsave有什么区别和联系?AOF配置与详解本文会重点讲清楚如下问题:RDB持久化配置与详解
2021-12-13 21:14:53
975
原创 APP应用升级遇到签名冲突的问题
项目场景:app升级问题问题描述:app升级问题当app完成下载时,单击安装时会出现“签名冲突”错误。错误提示如下图:可以看见,原来的版本是4.0,现在的版本是5.0 。点击安装会出现如下图的错误。这个提示已经非常明确了。已经安装了签名冲突的应用。原因分析:这个原因已经非常的明确了,就是说在你生成APK文件时需要一个签名文件。这就是签名文件的配置。如果你还没有,就点击Create new…去创建一个。所谓APP升级,就是你在服务器端有一个最新的APP安装包,你的客户
2020-11-18 16:20:59
13515
原创 Android 打包生成APK文件时报lintOptions配置错误
问题描述:今天在原来得基础上优化了部分功能,想打包成apk文件安装到手机上运行一下,结果在打包时发生了异常。具体异常如下图所示:![在这里插入图片描述](https://img-blog.csdnimg.cn/20201118143430566.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMyNDAzMDQz,size_16,col
2020-11-18 15:04:53
757
1
原创 Android屏幕适配的解决办法
Android屏幕适配总结文章目录Android屏幕适配总结前言一、什么是屏幕适配?二、明确手机中的一些概念和定义1.屏幕尺寸2.屏幕分辨率3.屏幕像素密度4.独立比例像素三、屏幕适配的解决方案1. 屏幕分辨率限定符2. swdp限定符,即 smallestWidth(最小宽度) 限定符三.两者的区别四、smallestWidth 限定符适配步骤1. 在Android Studio开发工具中安装一个插件,这个插件就是 ScreenMatch。2. 在values文件夹下编写好模板文件3、生成对应的资
2020-11-15 20:04:56
1897
原创 记一次阿里云安装zookeeper所踩过的坑
文章目录前言一、zookeeper is what?二、安装步骤1.准备好zookeeper的安装包2.上传到阿里云服务器某个目录下面3.解压并配置总结前言今天和大家分享一下最近安装了zookeeper,将spring boot和dubbo整合起来,以zookeeper来作为注册中心进行注册。之前用的都是springCloud里面的eureka作为注册中心。这两天也搞的是心累。今天就简单的说下。提示:以下是本篇文章正文内容,下面案例可供参考一、zookeeper is what?ZooKee
2020-10-31 00:24:56
671
原创 Android开发学习心得体会
文章目录写在前面一、Android开发是什么?1.android开发面向那些应用?2. 现在移动应用开发得项目架构方式?3.怎么去尽快入门?初学者要搞清楚的问题?二、总结项目开发1. 此次项目开发过程中用到的技术总结如下写在前面先来总结总结一下最近的情况。从毕业到找到工作然后到入职前前后后用了不到半个月的时间。报道第一天,公司领导对我很热情,又是嘘寒问暖,有是问问自己做过哪些东西。再到第二天以至后来的半个月里,都是让我单独搭建一个公司的测试服务器,在上面安装好所需要的环境和软件工具以及做一些领导安排的
2020-10-29 15:14:58
6747
原创 Liunx系统中安装JDK的一般步骤
Liunx下安装JDK的一般步骤声明一下,liunx下安装JDK基本上分为两种,分别是基于yum的在线安装,这种方式必须要能上网,否则安装不成功。另外一种是手动安装,我们今天就总结手动安装。其实工作当中大多数还是会选择手动安装,我们可以指定JDK安装的目录等。好,正式开始……检查是否有JDK1、输入:java -version2、发现有输入:rpm -qa | grep java 检测jdk的安装包,(注意:rpm命令符没有时记得下载一个输入:apt-get install +命令名称)3、接着进
2020-10-24 01:52:15
276
原创 mybatis基本操作之SQL映射
Mybatis之所以强大就是因为SQL映射语句。SQL映射文件的配置也很简单。来公司快两个月了,公司采用springboot +mybatis框架进行开发,将近期使用mybatis的心得做一个全面的总结:结构图如下:今天的总结由四部分组成。介绍之前我们先介绍一下mapper文件的标签有哪些,粉笔诶都有什么作用;mapper :映射文件的根元素,只有一个属性namespace(命名空间),主要作用有区分不同的mapper文件,全局唯一。绑定dao层接口,即面向接口编程。当namespace绑定某一接口
2020-10-08 13:46:41
1027
2
原创 springboot集成swagger做接口文档说明
swagger在一定程度上给我们节省了很多重复繁琐的工作。在企业开发中,一般我们完成开发的交付给前端调用的时候,一般都要写接口调用文档说明。不要小看这个事情,很麻烦。尤其是有大量接口的时候,并且伴随着系统的不断升级需要调整接口的参数等等。那么,接口调用文档肯定也需要再次修改。这时候,丝袜哥就可以发挥他的优势了。先来看一下丝袜哥长什么样子:...
2020-08-24 15:10:43
531
原创 Java解析Excel
来公司一个多月了。一直在参与公司的大数据研发。因为研发人员相对较少,公司规模处于中小型规模。很多细节制度还不够完善。很多工作都是在人工的处理。所以,避免不了琐碎的事情。真正研发的时间相对较少。很烦人。大数据处理数据之前一般都会经历几个阶段。其中必不可少的一个阶段就是人工预处理数据阶段。我就是做这个处理(因为刚来公司,技术 相对比较薄弱,慢慢成长)。你根本想想不到数据是长什么样子,真的是五花八门,所以这个阶段也很辛苦。第一次经历Excel文件有百万行级别的记录,是不是很难想象啊!刚打开文件都需要几分钟。这
2020-08-04 09:46:37
704
原创 SQL语句性能监测工具 Show Profile
最近在看数据库的一些东西。突然发现mysql还提供了SQL语句优化的功能。当然,这个功能是属于MySQL高级篇的东东了。首先,我先说一下基本的环境。安装好MySQL数据库。进到命令提示符界面。在将命令提示符的目录切换到MySQL安装目录的bin目录下面。我的是D:\MYSQL\mysql-5.6.43-winx64\bin(大家可以自行按照自己的目录进行)。如下图所示:在登录到MySQL中:登录命令: mysql -hlocalhost -uroot -proot,这里解释一下:-h后面跟主机名(这
2020-05-20 13:42:58
1309
1
原创 数据库的七种连接(JOIN)方式
数据库在涉及到多表查询的时候,都会牵扯到两个表的连接问题。那么今天就详细说明一下数据库的连接问题。首先我们来看第一个:这就是两张表共有的部分(内连接),取交集。SQL语句:SELECT * FROM TABLEA A INNER JOIN TABLEB B ON A.KEY=B.KEY;A独有的部分加上和A和B公共 的部分。也叫左外连接。SQL语句:SELECT * FROM T...
2020-05-03 22:50:34
12026
1
原创 SQL语句的执行顺序你真的知道吗
SQL语句的执行顺序你真的知道吗?很多人都会写SQL语句,但是,它的执行顺序你真的知道吗?一般手写顺序是:Select 【字段名或函数或表达式】FROM 表名WHERE 条件GROUP BY 分组名HAVING 条件(对分组后的筛选)ORDER BY 排序这个就是我们正常的手撕SQL了。那么SQL真正去执行的时候是什么样子。一幅图教你看懂SQL的执行顺序:以上这幅图基本上详细...
2020-05-03 15:07:52
230
原创 RocketMQ入门篇-------整合Springboot
写在前面从安装到测试成功,花了好几天的时间。在网上也查了很多的资料。但是很多时候都是徒劳的。第一次学习MQ,想把这些天学到的东西总结一下。也很欢迎各位大神、大牛来评论。首先,我们花点时间介绍一下RocketMQ的性能及一些角色。个人觉得这是很有必要的。其实,不管是什么MQ,他们都是MQ,只要是MQ,他都具有一下特点:削峰填谷(主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题)...
2019-12-19 16:44:01
1136
2
原创 RocketMQ安装部署所踩过最全的坑
我相信这篇文章应该是所有首次安装RocketMQ的人所踩过最全的坑。写在前面今天分享的这篇文章,可以说,绝对有用。因为我今天在安装RocketMQ时被整整搞了一个早上。太浪费时间了。而且网上关于这方面的资料太简单了。根据他们的步骤基本上都是以失败而告终的。在此,我想说(虽然我还是IT领域的一个小白),无论你是程序员大神还是大牛。我都期待你们在写文章的时候,尤其是一些关键步骤或者技术时,请详细...
2019-12-17 20:08:51
3415
6
原创 浅谈Spring之声明式事务
今天来和大家分享一下spring 的事务管理机制。也是很重要的一个概念。简单的说,spring的事务可以分为声明式事务和编程式事务。首先先来说明一下事务的概念:事务(Transcation),一般指我们要做的事情。是恢复和并发控制的基本单位。具备四个属性:原子性(atomicity):一个事务中包括的操作要么都做,要不都不做。一致性(consistency):事务必须是使数据库从一个一致...
2019-12-06 15:43:06
167
原创 Spring的Configuration注解到底能否省略这一篇就足够了
时间过得好快啊!已经来到了19年的最后一个月了。去年这个时候在干什么,哈哈。鬼知道。希望大家珍惜时间。1. Spring的配置类问题在上一篇中我们分享的问题其中包括一个@Configuration注解在什么时候可以省略什么时候不能省略的问题,不知道大家是否还记得呢?可以省略情况:就是这个配置类我们当做一个参数传入spring的入口中时,就可以省略@Configuration这个注解。否则不能...
2019-12-02 16:19:57
766
原创 一千行Mysql学习笔记
/* Windows服务 */– 启动MySQLnet start mysql– 创建Windows服务sc create mysql binPath= mysqld_bin_path(注意:等号与值之间有空格)/* 连接与断开服务器 */mysql -h 地址 -P 端口 -u 用户名 -p 密码SHOW PROCESSLIST – 显示哪些线程正在运行SHOW VARIABLE...
2019-11-28 16:42:32
103
原创 spring整合dbutils+c3p0实现数据的增删改查
前面两篇文章和大家分享了spring的IOC和DI工作原理。今天我们利用spring+dbutils+mysql来做一个简单的demo。这个demo的功能主要是银行账户的一些信息,实现基本的增删查改操作。采用XML形式实现demo采用XML和注解形式实现demo采用注解形式实现demo首先,我们创建一个maven工程,搭建spring的开发环境。项目结构如下:读者暂且不用管con...
2019-11-28 15:26:03
633
原创 浅谈spring框架之依赖注入(DI)机制
今天我们来看一下spring的第二大特性,依赖注入,英文名称“Dependency Injecttion”,简称DI。在上一篇博客中我们讨论了IOC的作用就是降低程序之间的耦合性。简单说依赖注入就是给系统中的某个变量赋值。那问题来了,那这种依赖关系由谁来管理那?毫无疑问,肯定是交给我们的spring容器了,我们只需在配置文件中说明即可。这种依赖关系的维护就称之为依赖的注入。接下来我们 创建一个...
2019-11-27 12:20:40
649
原创 浅谈spring框架之IOC机制
在上一篇文章中,我们主要讲了如何削弱类与类之间的耦合性,通俗点说,就是让两个类之间的关联性尽可能的降低。我们采用了一个配置文件和java反射技术来实现的。其实,二十多年前就已经有人为我们开发出这样的框架了。他就是spring框架。我们今天就学习一下spring框架。我们采用maven形式来管理jar包。第一步:新建一个maven项目(目录结构如下)。建立两个类,一个测试类(TestMetho...
2019-11-26 16:12:19
152
原创 java之削弱程序之间耦合性的问题的见解(建议在学习spring框架之前必看)
这篇文章建议大家在学习spring框架之前先看一下,作者也是在这条路上踩了好多坑。可以说,我是第二次回过头来学习spring框架。之前老师有讲过spring,但那只是教会你如何去用这个东西,那这个东西究竟底层是如何实现的,我觉得作为一个初始这个领域的人来说,非常有必要搞清楚他的底层运作原理。我们选择用java来开发系统,一个必须要用到的工具就是数据库,毫无疑问,不管你用的是那种数据库,基本的实现...
2019-11-25 20:55:57
363
原创 idea如何上传代码到码云
搞了好多天,终于讲这个问题搞定了。跟大家分享一下心得。首先,搞清楚我们的问题,我们想让idea里面编辑的代码上传到码云这个平台上面。这个方法有很多种,也有很多的可视化工具帮我们来完成,这里我只说明如何使用idea原生的方法进行上传。好了,开车。先说一下基本的环境吧!第一步:配置git首先下载安装git工具。配置git环境git主要配置用户名和邮箱就可以了。主要作用就是,分秦楚是谁上传了...
2019-10-28 17:31:34
3499
原创 java基础面试题
java经典面试题分享 一 ConcurrentModificationException异常出现的原因首先我们在主方法中中运行一段代码:public static void main(String[] args) { // TODO Auto-generated method stub ArrayList<Integer> list = new ArrayList&...
2019-08-21 14:12:12
92
原创 浅谈面向对象之代理模式
代理模式,代理模式可以说我们所有的面向对象领域用的非常广泛的一种设计模式了。也解决了很多的实际问题。在生活中,我们也能够经常看到这种代理。什么是代理?定义:就是控制对某个对象的访问说通俗一点代理就是...
2019-08-02 21:31:44
584
原创 浅谈java设计模式那些事之创建型模式(一)
我们都知道java中一共有23种设计模式,但是大体上可以分为三类模式:创建型模式创建型模式顾名思义就是用来帮助我们创建对象的。创建着模式又可以分为:单例设计模式、工厂模式(简单工厂模式、工厂方法模式和抽象工厂模式)、建造者模式和原型模式。结构型模式结构型模式包括:适配器模式 、桥接模式、 装饰模式 、组合模式 、外观模式 、享元模式 、代理模式行为型模式行为模式包括:模板方法模式、...
2019-07-30 22:38:36
166
原创 面向对象的六大设计原则
我相信,梦里能到达的地方;总有一天,脚步也能到达……这是我今天看到最励志的一句话了。我也相信,坚持下来总不会太差。好了,今天我们来谈谈面向对象的设计原则都有那些?我可以告诉大家,面向对象的设计原则总共有6个,我们一起来看看:一、开闭原则(Open Close Principle)意思就是:对扩展开放,对修改关闭。举例:在程序需要新扩展功能的时候,不能去修改原有的代码,而是新增一些代码(...
2019-07-29 19:49:11
245
原创 使用Ajax获取后台数据为undefined
解决办法:var dataObj=eval("("+data+")");//转换为json对象问题: 1. 碰到一个问题ajax成功获取json数据后,取值显示undefined,通过eval函数转一次即可成功获取json数据值,如果不通过,可以参考如下转两次; 2.表单保存后,重新ajax请求数据又报Uncaught SyntaxError:错误,经过分析原来是表单保存后aj...
2019-06-26 19:06:45
7119
原创 java 异常机制
首先我们要知道java中的异常体系。这就是java的异常体系。所有的异常都继承Throwable这个类。其中Error类是java程序本身无法恢复的严重错误,应用程序不需要捕获,处理这些严重的错误。Exception是由java应用程序抛出和处理非严重错误。我们称之为异常。根据图我们可以很清楚的看到,异常有分为运行时异常和编译时异常。编译时异常又叫检查异常。我们在java程序中真正处理的是...
2019-05-29 18:59:42
196
原创 java三目运算符
三目运算符在java中运用可以说非常的广泛,接下来我们就一起来看看三目运算符。首先我们来看一下它的语法格式:表达式1 ? 表达式2:表达式3;表达式1必须是一个条件表达式或者返回值必须为boolean类型的。表达式2和表达式3则没有什么要求。其中还可以是嵌套的三目运算符。我们都知道,当表达式1的返回值为true时,返回表达式2的值。否则,返回表达式3的值。这是我们正常理解的。接下来我们就看...
2019-05-28 20:33:49
2931
原创 JSP基础知识语法总结
之前也学习过一点java web的东西,但是一直没有搞清楚Servlet和JSP的关系。因为在Servlet中也有request和response等内置对象。其实一句话就可以总结什么是JSP(那就是在HTML中嵌入java代码)。我们都知道JSP 中有三大指令和九大内置对象。我们先说一下三大指令:分别是:<%@page %>;常见属性language;指定JSP页面使用的脚本...
2019-05-24 00:59:46
799
3
转载 java当中的NIO框架
作者也是一个java小白,目前正在学习java基础。今天发现了一个非常好的学习NIO框架的学习网站,所以想给大家分享出来。个人觉得还是讲的非常的清楚。先将网址链接贴过来:http://ifeve.com/java-nio-asynchronousfilechannel/第一次再看这篇文章时,觉得很好,准备学习完了自己写一下学习NIO框架的过程。结果,到后面我才发现,我跟本没有总结的必要了。为什么...
2019-05-19 22:32:27
204
空空如也
android 将布局文件转换成Bitmap后内容丢失,图片显示不全问题
2020-10-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人