Redis使用场景

分布式锁 计数器:在互联网行业,我们经常会看到文章都有统计关注数,浏览数,这些数据都需要实时变化 这里使用Redis以下两个api可以实现: INCR key //INCR readcount:{帖子id} 每浏览一次 GET key //GET rea...

2019-04-29 10:49:02

阅读数 14

评论数 0

Redis-Cluster

RedisCluster 是 Redis 的亲儿子,它是 Redis 作者自己提供的 Redis 集群化方案。 数据分区方式 哈希节点数取余 是在客户端分片。优点简单。缺点:扩容影响太大!添加节点的时候整个数据会做很多偏移。3个节点扩容添加1个节点,会发生80%的数据迁移。如果用这个中方式做数据...

2019-04-28 18:18:56

阅读数 16

评论数 0

服务限流

为什么需要限流 保障服务稳定的三大利器:熔断降级、服务限流和故障模拟。今天和大家谈谈限流算法的几种实现方式,本文所说的限流并非是Nginx层面的限流,而是业务代码中的逻辑限流。 与用户打交道的服务 比如web服务、对外API,这种类型的服务有以下几种可能导致机器被拖垮: 用户增长过快(这是好...

2019-04-25 11:19:56

阅读数 46

评论数 0

Redis Sentinel知识总结

主从复制的优点和问题 优点: 从节点是主节点的一个备份,能在主节点宕机之后作为备份。 能够读写分离减轻主节点的压力。 问题: 如果主节点宕机需要手动进行故障转移。如果使用脚本也无法周密的考虑所有情况,例如:怎样判断主节点宕机?设置哪个从节点作为主节点? Redis Sentinel是官方提供的...

2019-04-23 15:36:23

阅读数 6

评论数 0

SpringMVC工作流程

DispatcherServlet 在整个 Spring MVC 框架中,DispatcherServlet 处于核心位置,它负责协调和组织不同组件完成请求处理并返回响应工作。Tomcat 启动,对 DispatcherServlet 进行实例化,然后调用它的 init() 方法进行初始化,在这个...

2019-03-11 14:50:21

阅读数 24

评论数 0

Redis(十四)——缓存雪崩、缓存穿透、缓存并发

缓存雪崩 数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查数据库,导致数据库CPU和内存负载过高,甚至宕机。 比如一个雪崩的简单过程: 1、redis集群大面积故障 2、缓存失效,但依然大量请求访问缓存服务redis 3、redis大量失效后,大量请求转向到mysql数据库...

2019-03-08 11:26:24

阅读数 435

评论数 0

Mysql学习

InnoD 数据页结构 前边我们简单提了一下页的概念,它是InnoDB管理存储空间的基本单位,一个页的大小一般是16KB。 数据页代表的这块16KB大小的存储空间可以被划分为多个部分,不同部分有不同的功能,各个部分如图所示: 在页的7个组成部分中,我们自己存储的记录会按照我们指定的行格式存储到U...

2019-03-08 00:10:08

阅读数 28

评论数 0

JVM-类加载机制

JVM 类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这 五个过程。 加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对 象,作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个Class文件获取,...

2019-03-06 22:34:26

阅读数 32

评论数 0

Java NIO

概述 NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector。传统IO基于字节流和字符流进行操作,而NIO基于Channel和Buffer(缓冲区)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Selector(选择区)用于监听多个通道的事...

2019-03-06 22:22:23

阅读数 32

评论数 0

JVM的垃圾回收算法

标记清除 标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。 在标记阶段首先通过根节点(GC Roots),标记所有从根节点开始的对象,未被标记的对象就是未被引用的垃圾对象。然后,在清除阶段,清除所有未被标记的对象。 根节点(GC Roots):为GC Roots的节点主要在全局性的引用(...

2019-03-06 00:23:07

阅读数 23

评论数 0

Spring Cloud学习——服务容错保护:Hystrix

在分布式系统中,难免有对外部接口的依赖,而外部接口有可能出现响应缓慢,大量请求超时,大量访问出现异常等情况。出现上面所说的情况有可能是由很多原因导制的,可能是网络抖动,外部系统有没有测出的bug,系统遭遇黑客攻击等。因为一个接口的异常,有可能导制线程阻塞,影响到其它接口的服务,甚至整个系统的服务给...

2019-03-05 10:49:28

阅读数 77

评论数 0

Spring Cloud学习——客户端负载均衡:Ribbon

Sping Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netfix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的Rest模板请求自动转换成客户端负载均衡的服务调用。 RestTemplate和Ribbon相结合 Ribbo...

2019-03-04 13:19:10

阅读数 26

评论数 0

Spring Cloud学习——服务治理:Eureka

Eureka是一个基于REST(Representational State Transfer)的服务,主要用于AWS cloud, 提供服务定位(locating services)、负载均衡(load balancing)、故障转移(failover of middle-tier server...

2019-03-03 22:56:55

阅读数 420

评论数 0

Redis(十三)——Sentinel和Cluster

Sentinel 目前我们讲的 Redis 还只是主从方案,最终一致性。读者们可思考过,如果主节点凌晨 3 点突发宕机怎么办?就坐等运维从床上爬起来,然后手工进行从主切换,再通知所有的程序把地址统统改一遍重新上线么?毫无疑问,这样的人工运维效率太低,事故发生时估计得至少 1 个小时才能缓过来。如果...

2019-03-03 15:00:44

阅读数 18

评论数 0

Redis(十四)——过期策略

Redis 所有的数据结构都可以设置过期时间,时间一到,就会自动删除。你可以想象 Redis 内部有一个死神,时刻盯着所有设置了过期时间的 key,寿命一到就会立即收割。 你还可以进一步站在死神的角度思考,会不会因为同一时间太多的 key 过期,以至于忙不过来。同时因为 Redis 是单线程的,收...

2019-03-03 15:00:28

阅读数 12

评论数 0

Redis(十二)——主从同步

很多企业都没有使用到 Redis 的集群,但是至少都做了主从。有了主从,当 master 挂掉的时候,运维让从库过来接管,服务就可以继续,否则 master 需要经过数据恢复和重启的过程,这就可能会拖很长的时间,影响线上业务的持续服务。 在了解 Redis 的主从复制之前,让我们先来理解一下现代分...

2019-03-03 15:00:06

阅读数 26

评论数 0

Redis(十一)——事务

为了确保连续多个操作的原子性,一个成熟的数据库通常都会有事务支持,Redis 也不例外。Redis 的事务使用非常简单,不同于关系数据库,我们无须理解那么多复杂的事务模型,就可以直接使用。不过也正是因为这种简单性,它的事务模型很不严格,这要求我们不能像使用关系数据库的事务一样来使用 Redis。 ...

2019-03-03 14:59:57

阅读数 6

评论数 0

Redis(十五)——LRU

当 Redis 内存超出物理内存限制时,内存的数据会开始和磁盘产生频繁的交换 (swap)。交换会让 Redis 的性能急剧下降,对于访问量比较频繁的 Redis 来说,这样龟速的存取效率基本上等于不可用。 在生产环境中我们是不允许 Redis 出现交换行为的,为了限制最大使用内存,Redis 提...

2019-03-03 14:59:43

阅读数 38

评论数 0

Redis(十六)——Lua脚本

Redis 提供了非常丰富的指令集,但是用户依然不满足,希望可以自定义扩充若干指令来完成一些特定领域的问题。Redis 为这样的用户场景提供了 lua 脚本支持,用户可以向服务器发送 lua 脚本来执行自定义动作,获取脚本的响应数据。Redis 服务器会单线程原子性执行 lua 脚本,保证 lua...

2019-03-03 14:59:23

阅读数 11

评论数 0

Redis(十七)——底层源码实现

Redis的对象redisObject 当我们执行set hello world命令时,会有以下数据模型: dictEntry: Redis给每个key-value键值对分配一个dictEntry,里面有着key和val的指针,next指向下一个dictEntry形成链表,这个指针可以将多个哈...

2019-03-03 14:59:05

阅读数 12

评论数 0

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