栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

REDIS

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

REDIS

缓存淘汰

当Redis应用内存不足时,再有新的数据新增到Redis时,需要删除一部分已有内存数据,才能新增的数据

noeviction: 返回错误

allkeys-random: 所有数据中删除数据

volatile-random: 有过期时间的数据库中随机删除数据

volatile-ttl: 删除剩余有效时间最少的数据

allkeys-lru: 所有数据中删除上次使用时间最久的数据

volatile-lru: 有过期时间的数据中删除上次使用时间最久的数据

allkeys-lfu: 所有数据中删除使用频率最少的

volatile-lfu: 有过期时间的数据中删除使用频率最少的

缓存穿透

当一个查询查到redis,redis中没有,那么逻辑上就要查询数据库,数据查询慢,消耗资源,但是数据库中也没有,下次再有这个查询,还会穿过redis,查到数据库,还是消耗资源

如果有恶意的行为,不断反复的查询你数据库中没有的东西,就会导致系统的缓慢甚至宕机

在实际开发中,流行的做法是在Redis中在保存一个布隆过滤器

解决办法 : 查询Redis中信息不存在时,先查询布隆过滤器 如果布隆过滤器显示数据库中没有和这个数据,直接给出响应,就不会到数据库查询了

缓存击穿

一个数据本来在Redis保存着(这个数据来自数据库)

正常情况下,一个请求查询到这个数据会直接从Redis中获得然后返回 不会查询数据库

但是Redis的数据一搬都会设置过期时间的

在过期的一瞬间,Redis是没有这个缓存数据的, 如果多个请求凑巧请求这个数据,就会访问数据库,带来压力

这个现在并不是不允许的,数据过期也是正常现象,一个请求之后Redis中会重新更新获得这个数

缓存雪崩 

如果短时间内大量出现缓存过期,就是缓存雪崩

其实就是并发了很多缓存击穿,数据库会不堪重负

分析缓存雪崩的原因,一般都是因为大量缓存数据同时添加到Redis并且设置了相同的有效期

解决和缓解办法是在设置有效期时,添加一个随机数,这样他们就不会同时失效了

Redis持久化 

Redis信息保存在内存

一旦断电,所有信息会丢失,在开机重启,需要将所有数据重新从数据源中获取

给数据源(指mysql)带来压力

我们如果能够在Redis运行的同时,将Redis内存的数据保存在当前服务器硬盘上,即使断电,在重启的过程中,我们可以从本机的硬盘恢复数据,无需访问数据源

Redis的持久化有两种

ROB:

数据快照(内存中所有数据以二进制的方式保存在硬盘上),生成一个dump.rdb的文件 

我们可以在redis安装程序的配置文件中找到conf文件

在空白位置编写如下面的内容

save  60 5

60表示60秒即一分钟

5表示key被修改的次数

整体含义,一分钟内有五次以上的key的修改,就会启动rdb数据库快照

优点: 因为是二进制格式,整体恢复数据

缺点: 突然断电的情况下,会丢失上次生成rdb文件和断电时间之间的数据

生成rdb文件是一个磁盘写操作,效率低

AOF

记录所有对redis的命令日志

conf配置文件:

appendonly yes

特点:不保存数据,只保存命令

这种情况下,理论上,所有redis运行过的指令都会保存下来,任何情况下断电都不会丢数据

但是实际情况下,Redis非常繁忙的情况下,在保存所有运行的指令,会影响运行速度

为了减少对运行速度的影响,默认情况下会将每一秒运行的所有指令整体的发送到日志中,减少id操作次数

但是缺点就是仍然 会丢失断电时,每秒间隔之间的数据

如果希望Redis仅作为纯内存的缓存来用, 亦可禁用RDB和AOF 可以在同一实例中同时使用AOF和RDB 这种情况下, 当Redis 重新启动时,AOF文件将用于重建原始数据集,因为他可以保证是最完整的

Redis集群

当今互联网程序集群非常常见

简单来说就是请求较多时,一台服务器无法完成时,由多台服务器共同完成

Redis作为为了提高服务器请求并发量的重要组件,承担着非常重要的职责

Redis服务器一台忙不过来 也是可以形成集群的

Redis集群有两种目标

一种是高性能集群(分区分片)

 一种是高可用集群(Redis镜像服务器)  

 

当一个Redis服务器保存了很多信息 如果它宕机就会导致整个系统瘫痪 为了尽量的减少这种情况发生 可能套搭建一个镜像服务器,提高高可用

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/922358.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号