- 博客(13)
- 资源 (2)
- 收藏
- 关注
原创 详细说明什么是Redis分布式锁
如果是0,就把锁的变量值设置为1,表示获取到锁,如果不是0,就返回错误信息,表示加锁失败,已经有别的线程获取到锁了。和加锁类似,释放锁也包含了读取锁变量值、判断锁变量值和删除锁变量三个操作,不过,我们无法使用单个命令来实现,所以,我们可以采用Lua脚本执行释放锁操作,通过Redis原子性地执行Lua脚本,来保证释放锁操作的原子性。我们要赋予锁变量一个变量名,把这个变量名作为键值对的键,而锁变量的值,则是键值对的值,这样一来,Redis就能保存锁变量了,客户端也就可以通过Redis的命令操作来实现锁操作。
2023-07-02 23:14:00
334
1
原创 什么是Redis哨兵机制,具体流程是怎么实现的
所以,这就需要哨兵集群在判断了主库“客观下线”后,经过投票仲裁,选举一个Leader出来,由它负责实际的主从切换,即由它来完成新主库的选择以及通知从库与客户端。如果从库总是和主库断连,而且断连次数超出了一定的阈值,我们就有理由相信,这个从库的网络状况并不是太好,就可以把这个从库筛掉了)(在判断主库是否下线时,不能由一个哨兵说了算,只有大多数的哨兵实例,都判断主库已经“主观下线”了,主库才会被标记为“客观下线”,这个叫法也是表明主库下线成为一个客观事实了。具体来说,主从集群的数据同步,是数据可靠的基础保证;
2023-06-11 18:07:52
393
原创 详解什么是Redis的主从同步
全量复制虽然耗时,但是对于从库来说,如果是第一次同步,全量复制是无法避免的,所以,我给你一个小建议:一个Redis实例的数据库不要太大,一个实例大小在几GB级别比较合适,这样可以减少RDB文件生成、传输和重新加载的开销。另外,为了避免多个从库同时和主库进行全量复制,给主库过大的同步压力,我们也可以采用“主-从-从”这一级联模式,来缓解主库的压力。
2023-06-07 21:39:04
407
1
原创 Redis的淘汰机制有哪些
Redis用作缓存时,实际的数据集通常都是大于缓存容量的,总会有新的数据要写入缓存,这个策略本身不淘汰数据,也就不会腾出新的缓存空间,我们不把它用在Redis缓存中。如果查询的数据量很大,这些数据占满了缓存空间,却又不会服务新的缓存请求,此时,再有新数据要写入缓存的话,还是需要先把这些旧数据替换出缓存才行,这会影响缓存的性能。LRU算法的全称是Least Recently Used,从名字上就可以看出,这是按照最近最少使用的原则来筛选数据,最不常用的数据会被筛选出来,而最近频繁使用的数据会留在缓存中。
2023-05-24 22:50:04
527
1
原创 JDK1.8中List与Map常用写法总结(JAVA8)
在使用java语言开发项目的过程中,经常会用到list和map对数据进行组装,处理相应的业务逻辑,现将常用的写法总结一下,供大家参考。
2023-04-11 10:30:55
2385
原创 VMware虚拟机安装Ubuntu kylin 麒麟系统教程 超详细
由于之前用虚拟机安装过Ubuntu、kylin、centos8,后来过了段时间有些忘记了,网上也有许多安装教程,但不怎么详细,于是今天把安装过程的详细步骤整理并记录下来,方便大家参考,避免走弯路~下面是步骤:
2022-12-30 23:02:39
8982
原创 EasyExcel合并相同内容单元格及动态标题功能的实现
相信很多同学都用过EasyExcel做过导出功能,现在阿Q也碰到一个需求,就是要把导出的Excel中内容相同的纵向单元格给合并,然后还需要给Excel设置动态标题,再进行格式定义调整,现将这个功能的实现过程记录下,给同学们做个参考避免踩到同样的坑.........
2022-06-23 19:15:00
8446
7
原创 MQ消息积压了如何处理
导致消息积压问题的原因:消息积压的直接原因,一定是系统中的某个部分出现了性能问题,来不及处理上游发送的消息,才会导致消息积压。在使用消息队列遇到的问题中,消息积压这个问题,应该是最常遇到的问题了,并且,这个问题还不太好解决。...
2022-05-22 22:11:07
5179
原创 什么是Redis的缓存击穿和缓存穿透
缓存击穿:缓存击穿是指,针对某个访问非常频繁的热点数据的请求,无法在缓存中进行处理,紧接着,访问该数据的大量请求,一下子都发送到了后端数据库,导致了数据库压力激增,会影响数据库处理其他请求。原因:缓存击穿的情况,经常发生在热点数据过期失效时解决建议:1、在缓存访问非常频繁的热点数据时,不要设置过期时间为了避免缓存击穿给数据库带来的激增压力,我们的解决方法也比较直接,对于访问特别频繁的热点数据,我们就不设置过期时间了。这样一来,对热点数据的访问请求,都可以在...
2022-03-27 21:17:51
6341
3
原创 关于Redis雪崩原因和解决方法终于搞懂了
缓存雪崩:缓存雪崩是指大量的应用请求无法在 Redis 缓存中进行处理,紧接着,应用将大量请求发送到数据库层,导致数据库层的压力激增。两个原因:原因一、缓存中有大量数据同时过期,导致大量请求无法得到处理。具体来说,当数据保存在缓存中,并且设置了过期时间时,如果在某一个时刻,大量数据同时过期,此时,应用再访问这些数据的话,就会发生缓存缺失。紧接着,应用就会把请求发送给数据库,从数据库中读取数据。如果应用的并发请求量很大,那么数据库的压力也就很大,这会进一步影响到数据库的其他正常...
2022-02-27 16:58:59
9225
1
原创 详细解析Redis为何这么快
1、内存数据库(内存访问本身很快)2、高效的数据结构(例如哈希表和跳表)(键值对按一定的数据结构来组织),为了实现从键到值的快速访问,Redis 使用了一个哈希表来保存所有键值对。3、多路复用机制(使其在网络 IO 操作中能并发处理大量的客户端请求,实现高吞吐率)(单线程的 Redis 也能获得高性能,跟多路复用的 IO 模型密切相关,因为这避免了 accept() 和 send()/recv() 潜在的网络 IO 操作阻塞点)...
2022-02-20 22:36:09
481
1
原创 关于GET和POST请求的区别
GET的提交的参数会显示到地址栏上,而POST不显示.GET往往是有大小限制的,而POST没有大小的限制.GET没有请求体,而POST有请求体.GET在当前的页面POST在另一个页面打开
2021-07-15 14:30:03
130
五个Tomcat包括Windows及Linux版本的
2023-02-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人