JAVA
文章平均质量分 79
java学僧
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis缓存穿透、缓存击穿、缓存雪崩区别和解决方案
1、什么是缓存穿透,缓存击穿,缓存雪崩缓存穿透: key对应的数据在数据源并不存在,并且没有的数据也无法从redis缓存中获取,这时所有对这类key的请求都会直接请求到数据源,从而可能压垮数据源;比如一个不存在的商品id获取商品详情,数据库和redis缓存中都没有,每次请求就会去数据库中去查询,若被黑客利用进行攻击,极有可能压垮数据库。代码示例及解决方法:// 一、若key对应的数据在数据源中不存在,我们在redis缓存中存儲为空,//这个空结果的过期时间尽量设置短些,最好不要超过五分钟,避免下原创 2021-02-20 10:29:21 · 499 阅读 · 0 评论 -
Redis持久化过程中,有新写入操作会怎样?----Redis写时复制(copy-on-write)策略
RDB持久化:bgsave触发,Redis调用fork()函数,创建一个子进程(子进程与父进程共内存),子进程执行持久化操作,将内存中的缓存持久化到一个rdb临时文件,待到持久化完成,临时文件替换旧的dump.rdb文件。自此一次RDB持久化操作就完成了。AOF持久化:AOF 持久化时,会将新写入的命令放入aof_buff中,然后检测时间(这个时间就是redis.conf中配置的aof执行频率),再决定是否持久化。当发生aof日志重写时,Redis同样会调用fork()函数,创建一个子进程,对当前内存中.原创 2021-04-21 14:42:01 · 3505 阅读 · 3 评论 -
Redis缓存过期机制,内存淘汰机制
在Redis中有设置过期时间的键值对是如何实现过期删除的呢?在使用redis的时候有没有想过Redis内存不够用的临界点是什么呢?Redis内存不够用时会发生什么呢?Redis缓存过期机制Redis中缓存过期机制包括惰性删除和定期删除:Redis使用的策略是惰性删除+定时删除并用。惰性删除很好理解,所谓的惰性删除其实就是Redis不主动删除过期的键值对,而是在客户端访问的时候去检查该键值对是否过期,若过期,Redis则会删除该键值对并返回null给客户端。惰性删除的情况下,Redis在清除原创 2021-04-21 10:33:27 · 386 阅读 · 0 评论 -
Redis的数据类型及使用场景
redis原创 2021-04-19 17:40:53 · 253 阅读 · 0 评论 -
MVCC原理及Mysql隔离级别
MVCC(Multi-Version Concurrency Control),即多版本并发控制。这里的多版本是指一条数据可能会有多个版本。MVCC的主要目的是为了提高数据库并发性能,用更好的方式去处理读写冲突,即做到读写冲突时,也可以不加锁。MVCC的多版本并发控制是通过undo log和Read View来实现的。原创 2021-04-19 11:28:13 · 309 阅读 · 1 评论 -
springboot项目中redis客户端(Jedis、Lettuce、Redisson)
一、redis客户端的对比1)、JedisJedis作为Redis官方推荐的一款客户端,也算是简单好用,基础功能齐全,在中小型项目中还是很好用的,但是Jedis是直连模式,在多个线程间共享一个Jedis实例时是线程不安全的。– 为啥不安全呢?不是说Redis是单线程,是世界上最安全的吗?看官不要激动,这里说的不安全不是说Redis处理数据不安全,而是Jedis向Redis服务器提交数据和从Redis上拿数据不安全,简单阅读Jedis的源码就不难发现,在单个Jedis实例中,向Redis推数据的写流(原创 2021-03-25 16:33:14 · 5233 阅读 · 0 评论 -
spring源码构建-IDEA2020.1构建Spring5.2.x源码
spring源码的版本可能会与gradle有不兼容的情况,为了一次成功,不浪费时间在这个小事情上,咋们下spring源码中推荐的版本。1、下载spring源码github下载地址:https://github.com/spring-projects/spring-frameworkgitee下载地址:https://gitee.com/mirrors/Spring-Framework我用的是gitee下载,因为github下载得太慢了!2、查看spring源码推荐版本其实就算我们不配置gradl原创 2021-03-01 08:26:09 · 743 阅读 · 0 评论 -
reids持久化机制(RDB与AOF)
1、数据持久化过程由上图可知:redis发生故障,只要调用了write系统函数就可以完成数据持久化,因为后两步由操作系统完成;但是操作系统发生故障,则必须以上全部步骤都走完才能算持久化完成。2、RDB机制RDB是把数据以快照的形式保存在磁盘上,既每隔一端时间将redis当前内存的数据备份到dump.rdb文件中,这是的dump.rdb文件就相当于这一时刻的快照。对于这个备份的触发机制有三种:save、bgsave、自动化save触发方式:该命令会阻塞当前Redis服务器,执行save命令期间转载 2021-02-07 12:49:09 · 348 阅读 · 0 评论 -
springboot+mybatis-plus实现多数据源配置并使用
所用pom配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org原创 2020-09-06 16:09:54 · 444 阅读 · 1 评论 -
ElasticSearch7.8.0下载与安装
ElasticSearch7.8.0下载与安装1、ElasticSearch7.8.0下载官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch链接: https://pan.baidu.com/s/1wAKQoB3nhLhcnBlPfVOLxQ 提取码: t83n2、解压解压elasticsearch-7.8.0-linux-x86_64.tar.gz到/usr/local/目录:# tar -zxvf elasticsearch-7原创 2020-07-05 15:09:07 · 6019 阅读 · 7 评论
分享