Prince_ZaZa
Go big or go home
posts - 33,comments - 0,views - 7039
05 2022 档案
redis缓存雪崩
摘要:什么是缓存雪崩 缓存雪崩:在极少时间内,查询大量key的批量过期,导致不停访问数据库,加大服务器的压力,最终服务器奔溃的情况。(他跟缓存击穿的区别是,他是大量key的批量过期;而缓存击穿是热门key过期后被访问量瞬时增大) 解决方案 1、构建多级缓存架构:nginx缓存+redis缓存+其他缓存(e 阅读全文
posted @ 2022-05-17 18:00 Prince_ZaZa 阅读(39) 评论(0) 推荐(0) 编辑
Redis缓存击穿
摘要:什么是缓存击穿:key对应的数据存在,但是在redis中key过期了,此时如有大量的并发请求过来,这些请求发现缓存过期一般都会从后端服务器加载数据并回设到缓存,这个时候大并发请求可能会瞬间把后端DB压垮; 如图: 出现缓存穿透的特点: 1.数据库访问压力瞬间增加 2.redis里面出现大量key过期 阅读全文
posted @ 2022-05-17 17:54 Prince_ZaZa 阅读(43) 评论(0) 推荐(0) 编辑
Redis缓存穿透
摘要:什么是缓存穿透 请看图,当我们用户访问我们的服务器的时候,服务器一般会先访问我们的redis,查看我们的缓存是否有需要的数据,如果没有我们再去访问数据库。 如果我们的用户数量足够多,且在某个时间段内突然都向我们的应用服务器发送请求,此时我们的应用服务器压力就会变大,然后他会不停地去查Redis的缓存 阅读全文
posted @ 2022-05-17 17:47 Prince_ZaZa 阅读(193) 评论(0) 推荐(0) 编辑
Java创建对象的四种方式
摘要:一:new运算的方式创建对象 String name; int age; public void show(){ System.out.println("我叫"+this.name+"今年"+this.age+"岁了"); } } Dog dog1=new Dog(); dog1.name="xia 阅读全文
posted @ 2022-05-17 09:37 Prince_ZaZa 阅读(2256) 评论(0) 推荐(0) 编辑
Redis主从复制原理
摘要:Slave启动成功连接到master后会发送一个sync命令。 Master接到命令启动后台的存盘进程,同时收集所有接收到的用于修改数据集命令,在后台进程执行完毕之后,master将传送整个数据文件到slave,以完成一次完全同步(主要是主服务器将数据存在rdb文件,再将其发送给从服务器,从服务器从 阅读全文
posted @ 2022-05-13 10:25 Prince_ZaZa 阅读(21) 评论(0) 推荐(0) 编辑
Redis解决超时和超卖问题
摘要:Redis解决超时和超卖问题解决并发情况下超时问题 使用redis连接池 public class JedisPoolUtil { private static volatile JedisPool jedisPool = null; private JedisPoolUtil() { } public static Jedi 阅读全文
posted @ 2022-05-12 15:39 Prince_ZaZa 阅读(391) 评论(0) 推荐(0) 编辑
Inner join使用方法
摘要:select s.* from student s where s_id in( select distinct s_id from score sc inner join( select c_id from course c inner join teacher t on c.t_id=t.t_i 阅读全文
posted @ 2022-05-09 14:50 Prince_ZaZa 阅读(35) 评论(0) 推荐(0) 编辑
Mysql left join和right join
摘要:查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩(包括有成绩的和无成绩的) select s.s_id,s.s_name,ifnull(round(avg_score,2),0) as avg_score from student s #left join,因为student中为空的也需要 阅读全文
posted @ 2022-05-09 12:09 Prince_ZaZa 阅读(190) 评论(0) 推荐(0) 编辑
Mysql round函数
摘要:在mysql中,round函数用于数据的四舍五入,它有两种形式: 1、round(x,d) ,x指要处理的数,d是指保留几位小数 这里有个值得注意的地方是,d可以是负数,这时是指定小数点左边的d位整数位为0,同时小数位均为0; 2、round(x) ,其实就是round(x,0),也就是默认d为0; 阅读全文
posted @ 2022-05-09 11:43 Prince_ZaZa 阅读(344) 评论(0) 推荐(0) 编辑
Mysql Inner join 内连接查询
摘要:#主句 select s.*,sc1.s_score as score_01,sc2.s_score as score_02 from student s #内联查询,分数表中的01课程 inner join ( select * from score where c_id = 1 ) sc1 on 阅读全文
posted @ 2022-05-09 11:26 Prince_ZaZa 阅读(105) 评论(0) 推荐(0) 编辑
删除list中的某个元素
摘要:方式一:使用for循环 public class listTest { public static void main(String[] args) { List<String> list=new ArrayList<>(); list.add("hello"); list.add("hi"); l 阅读全文
posted @ 2022-05-07 18:37 Prince_ZaZa 阅读(267) 评论(0) 推荐(0) 编辑
BIO和NIO的区别
摘要:1.BIO基本介绍 BIO是传统的Java IO编程,其基本的类和接口在java.io包中 BIO(blocking I/O):同步阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销 BIO方式使用于连接数目 阅读全文
posted @ 2022-05-07 18:21 Prince_ZaZa 阅读(1381) 评论(0) 推荐(0) 编辑
常见的单例模式
摘要:1.懒汉式 public class HungryMan { private HungryMan(){} private static HungryMan hungryMan = new HungryMan(); public static HungryMan getInstance(){ retu 阅读全文
posted @ 2022-05-07 17:24 Prince_ZaZa 阅读(34) 评论(0) 推荐(0) 编辑
Lock和Synchronized的区别
摘要:Lock和Synchronized的区别Synchronized public class Test01 { public static void main(String[] args) { Ticket ticket = new Ticket(); new Thread(() -> { for (int i = 0; i < 30; i 阅读全文
posted @ 2022-05-04 22:19 Prince_ZaZa 阅读(19) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示