数据库 发布日期:2024/12/30 浏览次数:1
redis缓存知识点:
一、缓存穿透
缓存穿透是指查询一个缓存和数据库中都没有的数据,由于大部分缓存策略是被动加载的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。用户不断发起请求,在流量大时,就可能对DB形成巨大的压力,利用不存在的key频繁攻击应用也是很大的问题。
二、缓存击穿
缓存击穿是指缓存中的一个热点Key(比如一个秒杀商品),在某个时间点过期的时候,恰好在这个时间点访问量剧增,对这个Key有大量的并发请求过来,请求发现缓存过期一般都会从后端DB加载数据并回设回缓存,但就在缓存中的数据还没有完全从DB中加载过来的这个时间段期间,并发瞬间造成大量请求直接击穿到DB,对DB形成巨大压力。
缓存击穿,又叫热点key问题,是这三个问题中最经典的一个问题。
三、缓存雪崩
缓存雪崩,是指缓存中设置了大批量相同过期时间的数据同时过期失效,而在这一刻访问量剧增,缓存近乎失效,所有请求全部转向DB,DB瞬时压力过重雪崩,甚至down机。和缓存击穿不同的是,缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数据库。
对于redis缓存我们的程序中会经常用到,有时候我们改变了部分功能,要是进行查看效果的话就要把原来的缓存清除掉,针对redis如何进行清理缓存,下面小编就给大家介绍两种方法
对于redis的各种配置,我这里就不多讲了,我们运行redis看是否正常
我们清除缓存的时候最好关闭redis,打开redis的安装路径,找到redis-cli.exe
双击redis-cli.exe,弹出redis-cli的对话框,输入host和密码
在上面的对话框里执行dbsize命令
然后执行flushall命令就可以了
其实还有一种更加直接的方式,我们找到安装目录
其实redis的缓存主要是存储在dump.rdb这个文件中的,我们只需要把这个文件删除掉就可以了,然后根据需要可以重新启动一下就可以