摘要: 因为redis缓存的大小是远远低于数据库中的数据量,所以如果缓存满了的话,则要选择将缓存中的某些数据淘汰为新的数据腾出空间 缓存数据的淘汰机制包括两步:第一,根据一定的策略,筛选出对应用访问来说“不重要”的数据;第二,将这些数据从缓存中删除,为新来的数据腾出空间, 合理的缓存数据淘汰机制还有淘汰策略 阅读全文
posted @ 2020-10-20 18:33 xzwcomeon 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 在一些场景下,有些数据被访问的次数非常少,甚至只会被访问一次。当这些数据服务完访问请求后,如果还继续留存在缓存中的话,就只会白白占用缓存空间。这种情况,就是缓存污染。 如果污染数据很少时,对于系统性能的影响就会很小,但是如果一旦数据量很大时,将会大大占用缓存容量,一旦缓存满的时候,因为保存在缓存中的 阅读全文
posted @ 2020-10-20 18:31 xzwcomeon 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 如果缓存出现击穿,雪崩,穿透等情况,会造成大量请求积压到数据库层,如果请求的并发量很大,就会导致数据库宕机或是故障,这就是很严重的生产事故了。 导致缓存雪崩的原因:第一:缓存中有大量的数据同时过期,导致大量请求无法处理,出现缓存缺失,然后会将请求发送到数据库,从数据库中读取数据。如果应用的并发请求量 阅读全文
posted @ 2020-10-20 17:29 xzwcomeon 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 缓存异常: 解决缓存与数据库数据非一致性问题: 数据的一致性: 缓存中有数据:则缓存中的数据要和数据库中的数据相同 缓存中没有数据:数据库中的值必须是最新的值 不符合这两种情况的,就属于缓存和数据库的数据不一致问题了。缓存的读写模式不同时,缓存数据不一致的发生情况不一样,应对的方法也会有所不同, 根 阅读全文
posted @ 2020-10-20 15:50 xzwcomeon 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 对于一个分层的系统当中,如果不同层之间存在速度不一致的问题,就会用到缓存技术,可以把一些需要经常访问的数据放到缓存当中,这样就可以增加加快访问的速度 对于计算机系统中存在两种缓存 1:LLC缓存:cpu中的末级缓存,用来存放内存中的数据,避免每次从内存中存取数据。 2:内存中的高速页缓存,即page 阅读全文
posted @ 2020-10-19 15:24 xzwcomeon 阅读(692) 评论(0) 推荐(0) 编辑
摘要: 前面提到过,如果一个哨兵在运行过程中发生故障,那么是不是还能进行主从库切换 实际上一旦多个实例组成了哨兵集群,即使有哨兵实例出现故障挂掉了,其他哨兵还能继续协作完成主从库切换的工作,包括判定主库是不是处于下线状态,选择新主库,以及通知从库和客户端。 配置哨兵所用到的信息:sentinel monit 阅读全文
posted @ 2020-10-16 09:58 xzwcomeon 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 对于主从库集群模式,当一个从库宕掉后还有主库和其他从库可以使用,但是当主库宕掉后,那就直接会影响到从库的同步,因为从库没有相应的主库可以进行数据复制操作了。 对于客户端的读请求,主库宕掉还可以执行,但是如果对于写操作,则无法执行命令传播,所以接下来就要引入一门技术叫做,哨兵机制。 哨兵机制主要解决了 阅读全文
posted @ 2020-10-15 18:14 xzwcomeon 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 当启动多个服务器时,通过replicaof(redis 5.0之前使用slaveof)命令形成主库和从库之间的关系 首先介绍一下名词 命令传播:即在主服务器数据库状态被修改,导致主从服务器数据库状态出现不一致时,让主从服务器的数据库状态重新回到一致状态。一旦主从库完成了全量复制,它们之间就会一直维护 阅读全文
posted @ 2020-10-14 14:44 xzwcomeon 阅读(1145) 评论(0) 推荐(0) 编辑
摘要: AOF日志持久化的方式就是记录每次对于执行的命令,这些命令是以文本的形式保存的 aof记录每条命令的方式是先让数据库执行,如果执行成功则记录入aof日志文件当中 而aof日志也具有很大的风险,如果刚执行一条命令,还没有来得及写会磁盘,就宕机了,那么下一次就无法恢复数据库了,同时如果AOF 日志也是在 阅读全文
posted @ 2020-10-13 20:31 xzwcomeon 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 对于redis来说,因为它保存在内存中,是内存性数据库,如果redis重启或者宕机后,其内存中的数据会全部丢失,所以应该想办法将内存中的数据进行持久化保存,等到下次redis重启或者恢复后能够根据这些持久化进行恢复 这里就用到了rdb快照技术,redis会将内存中的数据以rdb文件的形式保存,每当r 阅读全文
posted @ 2020-10-13 18:53 xzwcomeon 阅读(125) 评论(0) 推荐(0) 编辑