自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 什么是分布式锁?实现分布式锁的三种方式

什么是分布式锁?实现分布式锁的三种方式在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。那具体什么是分布式锁,分布式锁应用在哪些业务场景、如何来实现分布式锁呢?一、 为什么要使用分布式锁我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的锁进行处理,并且可以完美的运行,毫无Bug!注意这是单机应用,后来业务发展,需要做集群,一个应用需要部署到几台机器上然后做负载均衡,大致如下图:上图可以看到,变量A存在三个服务器

2021-05-06 17:58:37 206

转载 Redis缓存和MySQL实现一致性

在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。一般都是按照下图的流程来进行业务操作。按照这个流程,读取缓存步骤一般没有什么问题,但是一旦涉及到数据更新:数据库和缓存更新,就容易出现缓存(Redis)和数据库(MySQL)间的数据一致性问题。不管是先写MySQL数据库,再删除Redis缓存;还是先删除缓存,再写库,都有可能出现数据不一致的情况。举一个例子:如果删除了缓存Redis,还

2021-05-06 15:26:21 83

原创 springboot+async异步接口实现和调用

什么是异步调用?异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行。如何实现异步调用?多线程,这是很多人第一眼想到的关键词,没错,多线程就是一种实现异步调用的方式。在非spring目项目中我们要实现异步调用的就是使用多线程方式,可以自己实现Runable接口或者集成Thread类,或者使用jdk1.5以上提供了的Executors线程池。StrngBoot中则提供了很方便的方式执行异步调用。异步接

2020-07-23 11:52:12 320

原创 Linux安装redis

Linux安装redis 完整步骤安装:1.获取redis资源  wget http://download.redis.io/releases/redis-4.0.8.tar.gz2.解压  tar xzvf redis-4.0.8.tar.gz3.安装cd redis-4.0.8makecd srcmake install PREFIX=/usr/local/redis4...

2020-04-09 23:55:48 87

原创 vue生命周期和参数传递

一、vue的生命周期:实例从创建到销毁的过程二、生命周期钩子beforecreate、createdbeforeMount、mountedbeforeUpdate、updatedbeforeDestroy、destroyed三、各个钩子的触发阶段1、beforecreate: 在实例化之后(new vue),数据观测(data observer)和 event/watche...

2020-04-09 23:33:10 1838

原创 Linux安装mongodb

mongodb安装过程:一、安装过程1.wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.12.tgz,我的系统是Ubuntu16.04,64位。2.默认下载路径是到用户目录下的Downloads目录,将其解压tar -zxvf mongodb-linux-x86_64-3.2.12.tgz3.将解压后的文件夹移动...

2020-04-09 23:32:51 90

原创 小程序生命周期

小程序注册完成后,加载页面,触发onLoad方法。页面载入后触发onShow方法,显示页面。首次显示页面,会触发onReady方法,渲染页面元素和样式,一个页面只会调用一次。当小程序后台运行或跳转到其他页面时,触发onHide方法。当小程序有后台进入到前台运行或重新进入页面时,触发onShow方法。当使用重定向方法wx.redirectTo(OBJECT)或关闭当前页返回上一页wx....

2019-12-25 09:47:54 69

原创 mysql的日期存储字段类型的选择

在实际开发项目中发现数据库中得日期项目,有的用datetime,有的用timestamp,有的甚至用int,这之间都有什么区别呢?什么场合适用什么样的设置呢?首先看一下各自的特点:int4个字节存储,INT的长度是4个字节,存储空间上比datatime少,int索引存储空间也相对较小,排序和查询效率相对较高一点点可读性极差,无法直观的看到数据,可能让你很恼火datetime8个字节储存...

2019-12-14 11:29:44 421

原创 微信小程序bindtap与catchtap的区别

微信小程序bindtap与catchtap的区别1、什么是事件  (1) 事件是视图层到逻辑层的通讯方式。  (2) 事件可以将用户的行为反馈到逻辑层进行处理。  (3) 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。  (4) 事件对象可以携带额外信息,如 id,dataset,touches2、如何使用事件  (1) 简单来说就是将事件绑定到组件上面,...

2019-12-11 15:10:27 348

原创 java后端解决跨域问题

java后端解决跨域问题java过滤器过滤允许整个项目跨域访问,可通过filter来进行过滤:public class SimpleCORSFilter implements Filter{ @Override public void destroy() { } @Override public...

2019-12-06 11:48:14 120

原创 Spring 注解大全与详解

2019-11-11 10:19:09 123

原创 java进阶篇

--------进阶篇------1.一个典型的SpringMVC请求流程如图所示,详细分为12个步骤:用户发起请求,由前端控制器DispatcherServlet处理前端控制器通过处理器映射器查找hander,可以根据XML或者注解去找处理器映射器返回执行链前端控制器请求处理器适配器来执行hander处理器适配器来执行handler处理业务完成后,会给处理器适配器返回ModeAnd...

2019-06-28 00:35:16 208

原创 java基础知识篇(二)---数据库

------------数据库知识------------1.什么是事务:事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功,要么失败)。2.事务特性:事务特性分为四个:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability)简称ACID。原子性(At...

2019-06-28 00:14:18 158

原创 java基础知识篇(一)

-----------基础知识-----------1.Java的基本数据类型Java基本类型共有八种,基本类型可以分为三类,字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、doublebyte:(1字节)8位,最大存储数据量是255,...

2019-06-27 23:59:45 334

空空如也

空空如也

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

TA关注的人

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