git 将本地代码上传到github

摘要: 1 初始化: git init 2 指定远程仓库 : git remote add origin 远程仓库位置 3 将本地文件加入:git add . 4 提交: git commit -m "first commit" 5 将远程仓库里面的README.MD 文件下载到本地:git pull -- 阅读全文
posted @ 2018-11-16 15:03 anqli_java 阅读(220) 评论(0) 推荐(0) 编辑

缓存穿透与缓存雪崩

摘要: 缓存穿透 什么是缓存穿透? 一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。如果key对应的value是一定不存在的,并且对该key并发请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。 如何避免? 1:对查询结果为空的情况也进行缓存 阅读全文
posted @ 2018-11-15 21:55 anqli_java 阅读(155) 评论(0) 推荐(0) 编辑

SpringCloud核心组件在微服务架构中的作用

摘要: Eureka: 各个服务启动时,Eureka Client都会将服务注册到Eureka Server,并且Eureka Client还可以反过来从Eureka Server拉取注册表,从而知道其他服务在哪里。 Ribbon:服务间发起请求的时候,基于Ribbon 做负载均衡,从一个服务的多台机器选择 阅读全文
posted @ 2018-11-12 08:13 anqli_java 阅读(719) 评论(0) 推荐(0) 编辑

双十一电商Java开发聊聊秒杀限流的多种实现

摘要: 前言 俗话说的好,冰冻三尺非一日之寒,滴水穿石非一日之功,罗马也不是一天就建成的。两周前秒杀案例初步成型,分享到了中国最大的同性交友网站-码云。同时也收到了不少小伙伴的建议和投诉。我从不认为分布式、集群、秒杀这些就应该是大厂的专利,在互联网的今天无论什么时候都要时刻武装自己,只有这样,也许你的春天就 阅读全文
posted @ 2018-11-12 07:58 anqli_java 阅读(756) 评论(0) 推荐(0) 编辑

localhost 和 127.0.0.1 的区别

摘要: 1 localhost也叫local,正确的解释是本地服务器;127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器) 2 localhost(local)是不经过网卡传输的,这点很重要,它不受网络防火墙和网卡相关的限制;127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火 阅读全文
posted @ 2018-11-12 07:54 anqli_java 阅读(1153) 评论(0) 推荐(0) 编辑

多线程中的锁

摘要: 乐观锁和悲观锁 乐观锁和悲观锁是在数据库中引入的名词,但是在并发包锁里面也引入了类似的思想,所以这里还是有必要讲解一下。 悲观锁指对数据被外界修改持保守的态度,认为数据很容易就会被其他线程修改,所以在数据被处理前就先对数据加锁,并在整个数据处理过程中,使数据处于锁定状态,悲观锁的实现往往依靠数据库提 阅读全文
posted @ 2018-11-11 16:31 anqli_java 阅读(291) 评论(0) 推荐(0) 编辑

分布式缓存

摘要: 缓存的使用场景 缓存穿透,指缓存没有发挥作用,业务系统虽然去缓存中查询数据,但是缓存中没有数据,业务系统需要再次去存储系统查询数据,通常情况下有两种情况,存储数据不存在,以及生成缓存数据需要大量的时间或资源 缓存雪崩,缓存雪崩指当缓存失效(过期)后引起的系统性能急剧下降的情况,当缓存过期被清除后,业 阅读全文
posted @ 2018-11-11 15:36 anqli_java 阅读(166) 评论(0) 推荐(0) 编辑

Redis事物特点和持久化方式

摘要: Redis的事物不支持完整的ACID,Redis虽然提供事物功能,但是Redis的事物和关系数据库事务不可同日而语,Redis的事物只能保证隔离性和一致性(I和C),无法保证原子性和持久性(A和D),具体实现原理如下: 原子性 Redis事物不支持原子性,Redis不支持回滚操作,事物中间一条命令执 阅读全文
posted @ 2018-11-11 15:09 anqli_java 阅读(358) 评论(0) 推荐(0) 编辑

数据库分库分表存在的问题及解决方案

摘要: 读写分离分散了数据库读写操作的压力,但是没有分散存储压力,当数据库的数据量达到千万甚至上亿条的时候,单台数据库服务器的存储能力就会达到瓶颈,主要体现在以下几个方面: 基于上述原因,单个数据库服务器存储的数据量不能太大,需要控制在一定的范围内,为了满足业务数据存储的需求,需要将存储分散到多台数据库服务 阅读全文
posted @ 2018-11-11 14:54 anqli_java 阅读(4972) 评论(0) 推荐(0) 编辑

数据库高性能解决方案

摘要: 高性能数据库集群的第一种方式是: 读写分离,其本质是将访问压力分散到集群中的多个节点,但是没有分散 存储压力;第二种方式是:分库分表,既可以分散访问压力,又可以分散存储压力。 一 读写分离 读写分离的基本原来是将数据库读写操作分散到不同的节点上,读写分离的基本实现如下: 注意:这里用的是主从集群,而 阅读全文
posted @ 2018-11-11 13:46 anqli_java 阅读(988) 评论(0) 推荐(0) 编辑