自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

梦上人间的博客

直道相思了无益,未妨惆怅是清狂

  • 博客(5)
  • 收藏
  • 关注

原创 如何通俗的理解Redis缓存击穿、穿透、雪崩

如何通俗的理解Redis缓存击穿、穿透、雪崩缓存雪崩缓存服务器宕机,所有请求全部落到数据库上,导致数据库挂掉了。此时,就算是重启数据库,马上还会被新的请求给干掉。这就是缓存雪崩。解决方案:雪崩前:redis设计成高可用,防止大面积故障,如 Redis Sentinel 和 Redis Cluster雪崩时:缓存限流、降级雪崩后:redis持久化,快速备份和恢复数据缓存穿透当一个请求从缓存中取数据时,如果请求的key在缓存中不存在,就会跳过缓存,直接请求数据库,如果数据库中也不存在就会返回nu

2020-08-06 10:12:07 378

原创 mysql实现并列排序

前言众所周知,oracle数据库中可以通过rank()函数实现对数据的排名,当字段值相同时,可以实现并列排名。而mysql中并没有类似的函数可以直接使用,那么是否可以通过sql来实现这种并列排序数据准备DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `optdate` datetime NOT NULL, `age` int(11) NOT NULL, PR

2020-07-17 17:21:41 1996

转载 Jvm内存区域与内存异常

jvm内存区域引言堆内存方法区运行时常量池程序计数器java虚拟机栈本地方法栈直接内存引言Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间。有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而建立和销毁。JVM内存模型可以分为两个部分,如下图所示,堆和方法区是所有线程共有的,而虚拟机栈,本地方法栈和程序计数器则是线程私有的。下面我们就来分析一下这些不同区域的作用。堆内存堆内存是所有线程共有的,

2020-07-17 16:10:35 240

原创 排序算法之选择排序(java)

选择排序选择排序是一种很容易理解和实现得简单排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。特点运行时间和输入无关为了找出最小的元素而扫描一遍数组并不能为下一便扫描提供什么信息,这种性质在某些情况下是缺点,因为使用选择排序的人可能会惊讶的发现,一个已经有序的数组或是主键全部相等的数组和一个元素随机排列的数组所用的排序时间竟然一样长。而其他算法会更善于理应输入的初始状态。数据移动是最少的每次交换都会改变两个数

2020-07-17 16:08:27 196

原创 sql优化以及索引失效情况分析

sql优化是什么在结果正确的前提下,用优化器可以识别的语句,充份利用索引,执行过程中访问尽量少的数据块,减少表扫描的I/O次数,尽量避免全表扫描和其他额外开销什么情况下索引会失效1、ike的模糊查询以%开头2、条件中用or,即使其中有条件带索引,也不会使用索引查询3、查询条件如果是字符串,不加引号会使索引失效4、not null 不会使用索引, is null 会使用索引5、使用 <> 或者!=6、in not in7、在索引列上使用计算如何实现Sql优化避免索引失效

2020-07-15 16:00:06 805

空空如也

空空如也

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

TA关注的人

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