如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题

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

Redis哨兵、复制、集群的设计原理,以及区别

2019-11-23
阅读 2 分钟
3.4k
谈到Redis服务器的高可用,如何保证备份的机器是原始服务器的完整备份呢?这时候就需要哨兵和复制。 哨兵(Sentinel):可以管理多个Redis服务器,它提供了监控,提醒以及自动的故障转移的功能。 复制(Replication):则是负责让一个Redis服务器可以配备多个备份的服务器。 Redis正是利用这两个功能来保证Redis的高可用。 ...

Redis缓存和MySQL数据一致性方案详解

2019-11-22
阅读 2 分钟
5k
在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。

Redis并发竞争key的解决方案详解

2019-11-21
阅读 1 分钟
4.4k
比如:多客户端同时并发写一个key,一个key的值是1,本来按顺序修改为2,3,4,最后是4,但是由于并发设置的原因,最后顺序变成了4,3,2,最后变成的key值成了2。

分布式锁的由来、特点、及Redis分布式锁的实现详解

2019-11-20
阅读 3 分钟
3.2k
主要用来给方法、代码块加锁。当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段。线程锁只在同一JVM中有效果,因为线程锁的实现在根本上是依靠线程之间共享内存实现的,比如Synchronized、Lock等。

Redis的内存回收原理,及内存过期淘汰策略详解

2019-11-19
阅读 2 分钟
7k
Redis内存回收机制 Redis的内存回收主要围绕以下两个方面: 1.Redis过期策略:删除过期时间的key值 2.Redis淘汰策略:内存使用到达maxmemory上限时触发内存淘汰数据 Redis的过期策略和内存淘汰策略不是一件事,实际研发中不要弄混淆了,下面会完整的介绍两者。 Redis过期策略 过期策略通常有以下三种: 1.定时过期 每个设...

350道java面试题收集整理,包含了上百家企业近年的人才计划!

2019-10-12
阅读 11 分钟
1.4k
1.1、你怎样给tomcat调优? 1.2、如何加大comcat连接数? 1.3、怎样加大tomcat的内存? 1.4、tomcat中如何禁止列目录下的文件? 1.5、Tomcat有几种部署方式? 1.6、Tomcat的优化经验